GitHub 仅搜索 API return 30 个结果

GitHub Search API only return 30 results

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

上面的查询假设 return 76 个结果,当我尝试 运行 它时,它只有 returns 30。我猜 GitHub return 超过 30 时会产生部分结果。知道如何获得其余结果吗?

您需要使用 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

问题: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参考:

Different API calls respond with different defaults. For example, a call to List public repositories provides paginated items in sets of 30, whereas a call to the GitHub Search API provides items in sets of 100