GitHub Search API仅返回30个结果

时间:2015-06-05 01:10:24

标签: github-api

https://api.github.com/search/issues?q=stress+test+label:bug+language:python+state:closed

上面的查询假设返回76个结果,当我尝试运行它时,它只返回30.我猜GitHub会在超过30时返回结果。任何想法我怎么能得到其余的结果?

2 个答案:

答案 0 :(得分:19)

您需要使用page参数,例如下一页30页= 2

https://api.github.com/search/issues?q=stress+test+label:bug+language:python+state:closed&page=2

您还可以使用per_page参数更改默认大小30.它支持最大大小为100.像这样:

https://api.github.com/search/issues?q=stress+test+label:bug+language:python+state:closed&per_page=100

可以找到更多详细信息here

答案 1 :(得分:1)

问题:Github api响应未包含所有相关数据。

解决方案:来自服务器的api限制了用户获得的商品数量,并将其分成页面(分页)。您应该使用Github分页api的公式

在请求中明确指定要从服务器分页引擎接收多少个项目。
?page=1&per_page=<numberOfItemsYouSpecify>"

例如,我想在我的私人仓库中获取所有合作者的信息。我正在向Github执行curl请求,其中包含:用户名,身份验证令牌,组织和存储库名称以及具有分页魔术的api调用。

curl -u johnDoe:abc123$%^ https://api.github.com/repos/MyOrganizationName/MyAwesomeRepo/collaborators?page=1&per_page=1000"

说明

什么是分页:分页是将网站内容或网站的一部分拆分为离散页面的过程。当有大量数据时,用户往往会迷路,通过分页拆分,他们可以专注于特定数量的内容。层次结构和分页结构提高了内容的可读性得分。加载页面的原因是每个项目的内容较少,并且每个页面都有一个易于参考的单独URL。

在这种情况下,Github api会根据请求将结果分成30个项目,具体取决于请求

Github参考:

不同的API调用使用不同的默认值进行响应。例如,一个 调用列表公共存储库提供了分页的分项 30,而对GitHub Search API的调用则提供了 100