gpt4 book ai didi

python - Github-api 在使用 python + urllib2 传递 json 数据时给出 404

转载 作者:太空狗 更新时间:2023-10-30 02:48:59 25 4
gpt4 key购买 nike

我有以下代码,它应该执行在 github 上创建新下载的第一部分。它应该使用 POST 发送 json 数据。

jsonstring = '{"name": "test", "size": "4"}'
req = urllib2.Request("https://api.github.com/repos/<user>/<repo>/downloads")
req.add_header('Authorization', 'token ' + '<token>')
result = urllib2.urlopen(req, jsonstring)

如果我删除 , jsonstring来自 urlopen() ,它不会失败,并为我提供可用下载列表。但是,如果我尝试 POST json 字符串,则会收到 404 错误。

问题必须出在 json 上,或者出在我发送它的方式上,但我无法弄清楚问题出在哪里。<...> 处的字符串在实际代码中是正确的,我只是从帖子中删除了它们

我尝试了大致相同的 curl在命令行上,身份验证方法略有不同,并且有效。

测试:

工作(返回想要的 json):

curl -u "user:password" --data "json..." https://api.github.com/repos/<user>/<repo>/downloads

作品:

curl -H 'Authorization: token <token>' https://api.github.com/

不起作用(返回“无效凭据”):

curl -H 'Authorization: token <invalid_token>' https://api.github.com/

不起作用(“未找到”):

curl -H 'Authorization: token <valid_token>' --data "json..." https://api.github.com/repos/<user>/<repo>/downloads

这似乎不是特定于 python 代码的问题。 json POST 数据似乎没问题,OAuth token 授权似乎(至少部分)有效。但是当这些放在一起时,它就停止工作了。

最佳答案

我终于弄明白了,为什么它不起作用。

我没有正确设置授权 token 的授权范围。我使用的 token 未被“授权”进行任何修改,并且使用它的每个尝试修改某些内容(添加下载)的操作都失败了。

我必须向授权添加正确的范围才能使其正常工作。

关于python - Github-api 在使用 python + urllib2 传递 json 数据时给出 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com