使用GitHub REST API按关键词查找指定用户仓库的问题排查
问题分析与修正方案
你遇到的问题是GitHub搜索API的参数格式使用错误,导致API没有正确识别你想要筛选指定用户仓库的需求。
错误原因
GitHub REST API的仓库搜索接口中,user(指定仓库所属用户)是搜索语法的一部分,需要包含在q参数的查询字符串里,而不是作为独立的URL参数传递。你当前的请求把user=kotelliada单独作为URL参数,API会忽略这个参数,只按照q=go返回所有包含"go"关键词的公开仓库,自然不是你想要的结果。
正确的请求格式
你需要把user:kotelliada作为筛选条件加入到q参数中,多个条件之间用+(或者URL编码的空格%20)分隔。正确的请求URL应该是:
https://api.github.com/search/repositories?q=go+user:kotelliada
验证示例
你可以用curl命令测试这个正确的请求:
curl "https://api.github.com/search/repositories?q=go+user:kotelliada"
返回的结果就会只包含用户kotelliada名下,仓库名称、描述或README中包含"go"关键词的公开仓库了。
额外提示
GitHub搜索API支持很多类似的筛选语法,比如:
language:go:筛选使用Go语言的仓库stars:>100:筛选星标数超过100的仓库fork:true:包含复刻的仓库
这些条件都可以组合到q参数里,比如q=go+user:kotelliada+language:go+stars:>10。
内容的提问来源于stack exchange,提问作者kotelliada
相关产品推荐
相关产品推荐

