如何通过GitHub API查询关注者数量处于指定区间的用户
GitHub用户关注者区间查询解决方案
REST API实现
你之前的请求未生效是因为URL中>、<属于特殊字符,未转义会导致请求解析错误。GitHub用户搜索原生支持followers数值筛选,两种正确写法如下:
- 区间语法(更简洁,推荐):
请求路径为https://api.github.com/search/users?q=followers:2500..3000,直接将你需要的上下限数值替换到2500和3000的位置即可。 - 范围判断转义写法:
将>转义为%3E、<转义为%3C,转义后请求路径为https://api.github.com/search/users?q=followers:%3E2500+followers:%3C3000
小提示:未认证调用该接口每分钟最多可发起10次请求,认证后可提升到30次,超出限制会触发403报错。
GraphQL API实现
完全可以用GitHub GraphQL API实现该需求,相比REST API可以灵活自定义返回字段,减少无效数据传输,参考查询语句如下:
query { search(type: USER, query: "followers:2500..3000", first: 10) { userCount # 符合条件的总用户数 nodes { ... on User { login # 用户名 name # 昵称 followers { totalCount # 关注者总数 } location # 所在地 publicRepos { totalCount # 公开仓库数量 } } } } }
你可以根据需求增减返回的字段,调整first参数控制单次返回的用户数量(最大支持100条),修改query参数中的区间数值即可适配不同的筛选范围。调用该接口需要提前生成个人访问令牌放在请求头中做认证,速率限制按查询复杂度计算,相比REST API更适合批量查询场景。
内容的提问来源于stack exchange,提问作者Lance Pollard
相关产品推荐
相关产品推荐

