我想允许用户使用github帐户进行注册,并显示所有他/她的私人和公共存储库。我能够从github获取令牌并获取存储库(公共和私有),但唯一的问题是它不会返回所有的存储库(即某些存储库不会被提取)。无法通过github API获取所有存储库API
我正在使用golang进行服务器端实现。 使用this方法获取存储库。
我想允许用户使用github帐户进行注册,并显示所有他/她的私人和公共存储库。我能够从github获取令牌并获取存储库(公共和私有),但唯一的问题是它不会返回所有的存储库(即某些存储库不会被提取)。无法通过github API获取所有存储库API
我正在使用golang进行服务器端实现。 使用this方法获取存储库。
默认情况下,所有接受ListOptions
参数的命令都具有PerPage
属性。为了获取所有数据,必须使用Page
属性遍历页面,直到获得的结果数少于PerPage
。
在围棋上下的伪代码,它会是这样的:
totalResults := []Result{}
for page := 0; ; page++ {
results := fetch current page
totalResults = append(totalResults, results)
if len(results) < per page {
break
}
}
你可以看到ListOptions
结构定义here。
正如robbrit指出的那样,为了获得所有回购,我们必须使用PerPage选项,因为默认情况下只返回30个回购。这解决了我的问题。
您链接到的方法(列表用户存储库)的评论说:“列出指定用户的**公共**存储库”(我强调)。所以“某些库不被提取”可能是因为那些不公开。 – ain
您好我已更新链接,我正在使用“(* RepositoriesService).List(用户字符串,opt * RepositoryListOptions)([] Repository,* Response,error)”方法来获取回购。 –
也请注意,我能够获得私人回购,唯一的问题是它没有返回完整列表。 –