使用Github API v3获取用户总计星号计数

时间:2015-06-04 06:45:57

标签: github-api

doc,我可以列出使用以下标题加星标的存储库:

GET /users/:username/starred

但似乎我无法直接获得用户的总星号回购计数。

我错过了什么吗?

2 个答案:

答案 0 :(得分:9)

这是一个非常有趣的问题,我想我找到了答案。让我们使用GitHub top user图表随机选择Ocramius和他的299星标回购,可以this address的JSON格式提供。

现在让我们尝试通过curl -I "https://api.github.com/users/Ocramius/starred"查询标题。我们得到一个有希望的标题:

  

链接:https://api.github.com/user/154256/starred?page=2; rel =“next”,https://api.github.com/user/154256/starred?page=10;的rel = “最后一个”

此标头来自the pagination feature of the API,那么如果我们要求curl -I "https://api.github.com/users/Ocramius/starred?per_page=1"每页有一条记录,会发生什么?

  

链接:https://api.github.com/user/154256/starred?per_page=1&page=2; rel =“next”,https://api.github.com/user/154256/starred?per_page=1&page=299;的rel = “最后一个”

啊哈!如果我们解析此RFC5988 HTTP标头,我们可以删除标记为rel="last"的网页编号,并且我们有299的正确答案!

答案 1 :(得分:4)

Ken Y-N答案的建议:

如果用户只有一个或零个星号,则api将在没有Link标题的情况下进行响应。

因此,当响应没有Link标题时,您可以直接从响应正文中的JSON-ARRAY长度中获取已加星标的计数。它可以是0或1。