首页 > 解决方案 > 尽管资源存在,GitHub API 返回 404

问题描述

我正在尝试向 GitHub API 发送 POST 请求以提交对提交的评论。

根据文档,所有需要的(除了 URL 参数)就是body.

我已将文档中的示例修改为以下内容:

curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/repos/dchacke/test/commits/9b7413350932dd3f2906c0fdd26106c35c7ce450/comments \
  -d '{"body":"test comment"}'

应该对此提交发表测试评论。我知道提交以及所有者和存储库存在(这是我的存储库,我可以在该 URL 下看到提交),但是在提交该 API 请求时,我收到了带有以下响应正文的 404:

{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/repos#create-a-commit-comment"
}

该文档没有提到该端点需要身份验证。404 听起来并不完全像一个身份验证问题,但以防万一 GitHub不想向未经身份验证的用户确认 repos/commits 的存在(尽管他们确实让他们在他们的网站上看到这些东西......),我尝试Authorization在我的 CURL 请求的附加标头中设置个人访问令牌。没有骰子。

我究竟做错了什么?

标签: githubgithub-api

解决方案


毕竟身份验证是问题所在。我必须确保我使用了具有正确权限的令牌。在这种情况下,它需要public_repo权限,可以在这里设置。


推荐阅读