使用Java GitHub API搜索存储库时如何获得超过100个结果?

时间:2014-02-02 05:38:25

标签: java github github-api

我目前正在使用org.eclipse.egit.github.core-2.1.5 GitHub API for Java,目标是使用Python在GitHub上搜索所有存储库。

我知道如何进行搜索,但RepositoryService.searchRepositories(query)方法只返回100个结果。如果我重做搜索,会返回相同的结果。有没有办法获得下一个101-X搜索结果?

有没有办法在Java GitHub API中使用与curl https://api.github.com/legacy/repos/search/Go?language=Go功能类似的命令?如果是这样,那么提供此功能的方法是什么?

1 个答案:

答案 0 :(得分:2)

根据the code判断,searchRepositories有几个重载变体,其中一个接受query参数,language参数和startPage参数。这意味着您应该能够使用以下命令运行您指定的查询:

RepositoryService.searchRepositories("Go", "go")

如果您想获得更多结果,您也可以指定页面:

RepositoryService.searchRepositories("Go", "go", 2)
RepositoryService.searchRepositories("Go", "go", 3)
...

不幸的是,我找不到告诉你实际有多少页面的方法。 searchRepositories用来执行请求的code表明第一个请求实际上应该返回所有页面中的所有结果,但如果您只获得100个结果,那么这似乎不是案子。你可能只需继续尝试以后的页面,直到你得不到任何结果。