检查repo是否使用GitHub API加星标

时间:2012-12-08 14:08:24

标签: javascript api rest github

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

例如..

(GET)/ user / starred?access_token = ...正确返回已加星标的回购列表。

(GET)/ user / starred / joynet / node?access_token = ...总是返回状态404,无论我使用什么所有者/回购组合,或者我实际上是否有该回购加星标。

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

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

您正在使用API​​。根据{{​​3}},如果您尚未加星标存储库(或存储库或用户,或两者都不存在),您将获得404状态,否则您将获得204.您将始终获得404状态,因为您拼错了用户名 joyent

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

GET /user/starred/joyent/node

为节点repo加注星标:

PUT /user/starred/joyent/node

取消节点repo:

DELETE /user/starred/joyent/node

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