python - 将 github 操作与 python 请求库一起使用时出现 404 错误
问题描述
我正在尝试使用 python 启动 GitHub 操作工作流。
在我的 GitHub 存储库中,我有一个yml
以手动触发器开头的文件:
on:
repository_dispatch:
types: [build]
我在 github>settings>developer settings>personal access tokens 中创建了一个令牌。为了保密,我们假设这个问题中的令牌号是:'123'。
我想使用请求库在 python 脚本中启动工作流,所以我编写了以下代码:
token = '1234'
headers = {'Authorization' : 'token ' + token }
data = {"event_type": "build"}
r = requests.post("http://api.github.com/repos/myorganizationname/repositoryname/dispatches", headers = headers,data= data)
我收到以下状态码:
r.status_code
404
我不确定我是在正确的地方写授权还是写错了,有人可以在这里帮助我吗?
解决方案
设置令牌授权时,请注意token
必须全部小写:
headers = {'Authorization' : 'token ' + token }
(可以在这里找到更多信息:https ://developer.github.com/v3/auth/ )
您可以使用以下方法测试您的令牌curl
:
curl -H 'Authorization: token 1234' ...
所以,这段代码应该可以工作:
token = '1234'
headers = {'Authorization' : 'token ' + token }
data = {"event_type": "build"}
r = requests.post("http://api.github.com/repos/myorganizationname/repositoryname/dispatches", headers=headers, data=data)
就像一个建议:
为了让事情变得更简单,您可以尝试 PyGithub 库:
from github import Github
github_token = '1234'
g = Github(github_token)
g.get_user("your_username").get_repo("your_repository").create_repository_dispatch("build")
推荐阅读
- c++ - 尝试取消引用迭代器时出现段错误
- android - 尝试在空对象 Volley 上调用接口方法“java.util.iterator java.util.list.iterator()”
- laravel - 如何解决 Laravel 安装命令上的 ubuntu 错误?
- sql - SQL Server:是否有必要出于安全问题禁用 SA 用户?
- karate - 无法计算 json 响应的大小
- c# - 使用 JSON 序列化和反序列化类构造函数值
- laravel-5 - 调度命令不在服务器上运行
- nginx - `127.0.0.1' 不是有效域
- reactjs - 如果其他条件在 reactjs 中不起作用
- powershell - Visual Studio 2017 无人值守升级