如何通过GitHub API获取克隆数?能否单API获取fork、watcher及克隆数?
如何通过GitHub API获取仓库克隆数及多数据合并查询
我来帮你理清通过GitHub API获取这些数据的具体方法:
获取克隆数的具体方式
要获取仓库的克隆数,你需要调用GitHub的Traffic API专用端点:
GET /repos/{owner}/{repo}/traffic/clones
- 这个接口会返回最近14天的克隆统计数据,其中
count字段对应总克隆次数,uniques字段是独立克隆的用户数量 - 注意:哪怕是公开仓库,访问这个接口也需要认证(比如使用带有
repo权限的个人访问令牌),否则会返回403权限错误
能否通过单个REST API同时获取fork数、watcher数和克隆数?
很遗憾,单个REST API端点无法同时拿到这三个数据:
- 仓库的fork数(
forks_count)和watcher数(watchers_count)可以从基础仓库信息接口GET /repos/{owner}/{repo}中直接获取 - 但克隆数仅存在于Traffic API的单独端点里,所以用REST API的话需要分两次请求才能集齐所有数据
不过,你可以改用GitHub的GraphQL API来实现一次性查询所有三个数据,示例查询代码如下:
query { repository(owner: "Community", name: "reponame") { forks { totalCount } watchers { totalCount } cloneCount { totalCount } } }
这个查询会一次性返回仓库的fork总数、watcher总数以及总克隆数,只需要一次请求就能完成。
内容的提问来源于stack exchange,提问作者Learn Hadoop
相关产品推荐
相关产品推荐

