命令行应用程序的最简单 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