GitHub API:如何有效地获取每个存储库的贡献者总数?

时间:2017-06-03 18:37:51

标签: github-api

有没有办法使用GitHub API有效地获取GitHub存储库的所有不同贡献者的数量?

我的意思是,无需获取所有贡献者对象并手动计算总金额。

2 个答案:

答案 0 :(得分:4)

解决方案可能正在使用pagination

当我们使用分页时,我们会根据我们请求的每页数量(使用 fun: -11.0 message: 'Optimization terminated successfully.' nfev: 92 nit: 5 success: True x: array([ 25.76747524]) 参数)在响应标题中获取有关总页数的信息。

因此,一个技巧可能是每页一个项目请求贡献者列表:

per_page

在我们的响应标头中执行此操作将会有一个https://api.github.com/repos/:owner/:repo/contributors?per_page=1 属性,其中包含以下内容:

  

链接:https://api.github.com/repositories/ID/contributors?per_page=1&page=2;   的rel ="下一个&#34 ;,   https://api.github.com/repositories/ID/contributors?per_page=1&page=XXXXXXXX;   的rel ="最后"

XXXXXXXX值,就在Link之前的总页数,但由于我们每页请求一个项目,因此它也是贡献者的总数。

答案 1 :(得分:1)

是的,诀窍是要求提供每页一项的贡献者列表。但是将anon = true用作查询参数,也要包括匿名贡献者

https://api.github.com/repos/:owner/:repo/contributors?per_page=1&anon=true

然后在响应标头(如上一个答案中提到的那样)中,查找Link属性并获取rel="last"之前的值