GitHub API创建文件返回404

时间:2017-07-20 21:13:36

标签: github github-api

这个似乎要在其他地方回答,但使用与其他答案相同的命令我仍然得到404.

我正在尝试使用GitHub的v3 API测试创建文件。无论我使用curl还是rest api测试器,我都会收到404“未找到”错误。我相信我得到了适当的授权,因为我可以查看我的费率计数,并且从5,000(授权时获得的费率限制)开始倒计时。

我可以像这样做GET:

curl -X GET -H "Authorization: token <mytoken>" https://api.github.com/repos/<myorg>/<myrepo>/contents/testfile

我的PUT是这样的:

curl -X PUT -H "Authorization: token <mytoken>" https://api.github.com/repos/<myorg>/<myrepo>/contents/newfile -d "{'message': 'Initial Commit','content': 'bXkgbmV3IGZpbGUgY29udGVudHM='}"

我也试过这个:

curl -X PUT -H "Authorization: token <mytoken>" https://api.github.com/repos/<myorg>/<myrepo>/contents/test.txt -d "{'path': 'test.txt', 'branch': 'dev', 'message': 'Initial Commit', 'committer': {'name': '<myname>', 'email': '<myemail>'}, 'content': 'bXkgbmV3IGZpbGUgY29udGVudHM='}"

所以回顾一下,GET似乎有效。 PUT似乎工作。如果有人可以提供帮助,请做。如果我没有回答,有人请告诉我的故事。

2 个答案:

答案 0 :(得分:0)

原来,我只是一个白痴。我正在使用对我的仓库具有只读访问权限的用户的个人访问令牌(PAT)。使用具有写访问权限的人的PAT工作得很好。谁知道?

对不起,互联网。我再也不会怀疑你了。

答案 1 :(得分:0)

我正在创建一个 API 包装器,我的输入路径有一个额外的前导“/”,我删除了正斜杠,不再出现错误 404。

因此,在请求 URL 中查找拼写错误,尤其是当您的路径构造函数放置了尾部斜杠时。好的构造器通常会处理这种情况,但显然不是全部。