有没有办法使用 GitHub API 有效地获取 GitHub 存储库的所有不同贡献者的数量?
我的意思是,不一定要获取所有贡献者对象并手动计算总量。
小智 11
是的,诀窍是请求贡献者列表,每页包含一个项目。但包含 anon=true 作为查询参数以包含匿名贡献者
https://api.github.com/repos/:owner/:repo/contributors?per_page=1&anon=true
Run Code Online (Sandbox Code Playgroud)
在响应标头中(就像之前的答案中提到的那样),查找 Link 属性并获取之前的值rel="last"
解决方案可能是使用分页。
当我们使用分页时,我们会根据我们请求的每页项目的数量(使用参数)在Response Header 中获取有关页面总数的一些信息per_page。
所以一个技巧可能是请求贡献者列表,每页一个项目:
https://api.github.com/repos/:owner/:repo/contributors?per_page=1
Run Code Online (Sandbox Code Playgroud)
在我们的 Response Header 中执行此操作将有一个Link包含以下内容的属性:
链接:https : //api.github.com/repositories/ID/contributors?per_page=1&page=2 ; rel="next", https://api.github.com/repositories/ID/contributors?per_page=1&page=XXXXXXXX ; rel="最后"
XXXXXXXX 值,之前rel="last"将是页面总数,但由于我们每页请求一个项目,它也是贡献者的总数。
| 归档时间: |
|
| 查看次数: |
1189 次 |
| 最近记录: |