无法通过github API获取所有存储库

时间:2016-06-21 13:36:20

标签: go github-api

我想允许用户使用github帐户注册,并显示他/她的所有私有和公共存储库。我能够从github获取令牌并获取存储库(公共和私有),但唯一的问题是它没有返回所有存储库(即不提取某些存储库)。

我正在使用golang进行服务器端实现。 使用this方法获取存储库。

2 个答案:

答案 0 :(得分:1)

默认情况下,所有接受ListOptions参数的命令都具有PerPage属性。为了获取所有数据,您必须使用Page属性遍历页面,直到获得的结果数小于PerPage

在Go-ish伪代码中,它看起来像这样:

totalResults := []Result{}
for page := 0; ; page++ {
  results := fetch current page
  totalResults = append(totalResults, results)
  if len(results) < per page {
    break
  }
} 

您可以看到ListOptions结构定义here

答案 1 :(得分:0)

正如robbrit指出要获取所有repos我们必须使用PerPage选项,因为默认情况下只返回30个repos。这解决了我的问题。