5

我目前正在尝试检查并查看是否由经过身份验证的用户使用 GitHub API (v3) 为 repo 加注星标。我可以成功列出登录用户加星标的存储库,但是在检查用户是否为存储库加星标时,我似乎无法让它工作。

例如..

(GET) /user/starred?access_token=... 正确返回我已加星标的完整存储库列表。

(GET) /user/starred/joynet/node?access_token=... 始终返回状态 404,无论我使用什么所有者/存储库组合,或者我是否真的将该存储库加星标。

我还应该注意,除了 (GET) /user/starred 之外,我似乎无法访问 /user/starred 上的任何内容。无论我做什么,任何对 /user/starred/:owner/:repo 的 PUT、DELETE 或 POST 请求都会返回 404。

知道我应该如何使用这个 API 吗?我已经阅读了文档,我相信我做对了,但我似乎无法让它工作。

4

2 回答 2

6

我能够解决这个问题。问题是我浏览了文档,没有看到我必须在授权期间请求 repo 范围才能修改星星 :) 只需添加“repo”范围即可解决我的问题!

GitHub 在这里简要提到了他们的范围:http: //developer.github.com/v3/oauth/但没有提到主演需要“repo”范围。

于 2012-12-09T18:44:12.273 回答
1

您正在使用 API 权利。根据文档,如果您没有为存储库加星标(或存储库或用户或两者都不存在),您将获得 404 状态,否则您将获得 204。您总是会获得 404 状态,因为您用户名joyent拼写错误。

因此,要检查经过身份验证的用户是否为节点存储库加注星标:

GET /user/starred/joyent/node

要为节点 repo 加注星标:

PUT /user/starred/joyent/node

并取消节点回购:

DELETE /user/starred/joyent/node

此外,如果您尝试使用不存在的所有者或存储库向 /user/starred/:owner/:repo 发出 PUT 或 DELETE 请求,您将获得 404 状态。因此,由于用户名拼写错误,您可能会收到所有这些 404 状态。

于 2012-12-09T13:50:39.320 回答