命令行应用程序的最简单 github 授权?
Simplest github authorization for a command line application?
我编写了一个简短的命令行应用程序来自动化我工作中涉及 github 的一些无聊部分。这个实用脚本很可能 95% 的时间由我使用,5% 的时间由另一个开发人员使用 - 它不需要大量生产,我可以自己处理共享身份验证秘密,所以我只想创建一个永远不会改变的秘密并完成它。
该脚本运行良好,除了在最后一行我需要使用方法 POST
对 github API 进行一次调用,我相信身份验证失败了,因为我在使用 POST
时得到 404 结果,但在尝试 GET
.
时却没有
这是详细信息。
我使用的是流行的 Python 库 requests
,我对此非常熟悉。
在 GitHub 上,我创建了一个 OAuth 应用程序,并复制了客户端 ID(将检查到代码中)和客户端密码(在运行时从一个文件中读入)我签到。
根据this documentation,然后我请求创建一个新版本,按如下方式传递身份验证:
url = 'https://api.github.com/repos/rec/testy/releases'
data = {
'tag_name': 'v1.0.1',
'target_commitish': 'master',
'name': 'name',
'body': 'release body',
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET,
}
res = requests.post(url, data=data)
print(res, res.text)
如果我将 requests.post
替换为 requests.get
,我将获得有关版本的预期信息,这就是为什么我认为我的身份验证有误。
考虑到它基本上是供个人使用的一次性脚本,调整我的请求以完成这项工作的最简单方法是什么?
创建令牌:https://github.com/settings/tokens
在您的数据块中使用
'token': <YOUR_TOKEN>
而不是 client_id 和 client_secret。
或者,请参阅:https://github.com/PyGithub/PyGithub
我编写了一个简短的命令行应用程序来自动化我工作中涉及 github 的一些无聊部分。这个实用脚本很可能 95% 的时间由我使用,5% 的时间由另一个开发人员使用 - 它不需要大量生产,我可以自己处理共享身份验证秘密,所以我只想创建一个永远不会改变的秘密并完成它。
该脚本运行良好,除了在最后一行我需要使用方法 POST
对 github API 进行一次调用,我相信身份验证失败了,因为我在使用 POST
时得到 404 结果,但在尝试 GET
.
这是详细信息。
我使用的是流行的 Python 库 requests
,我对此非常熟悉。
在 GitHub 上,我创建了一个 OAuth 应用程序,并复制了客户端 ID(将检查到代码中)和客户端密码(在运行时从一个文件中读入)我签到。
根据this documentation,然后我请求创建一个新版本,按如下方式传递身份验证:
url = 'https://api.github.com/repos/rec/testy/releases'
data = {
'tag_name': 'v1.0.1',
'target_commitish': 'master',
'name': 'name',
'body': 'release body',
'client_id': CLIENT_ID,
'client_secret': CLIENT_SECRET,
}
res = requests.post(url, data=data)
print(res, res.text)
如果我将 requests.post
替换为 requests.get
,我将获得有关版本的预期信息,这就是为什么我认为我的身份验证有误。
考虑到它基本上是供个人使用的一次性脚本,调整我的请求以完成这项工作的最简单方法是什么?
创建令牌:https://github.com/settings/tokens
在您的数据块中使用
'token': <YOUR_TOKEN>
而不是 client_id 和 client_secret。 或者,请参阅:https://github.com/PyGithub/PyGithub