Ruby on rails 如何使用“从GitHub API v3获得100多个结果?”;github“U api”;宝石

Ruby on rails 如何使用“从GitHub API v3获得100多个结果?”;github“U api”;宝石,ruby-on-rails,pagination,rubygems,github-api,Ruby On Rails,Pagination,Rubygems,Github Api,我正在使用并尝试。问题是我只能得到100个结果,无法访问其他页面。这似乎是一个很常见的问题,但我找不到答案 例如,让我们看看rails/rails回购。共有1990名贡献者: repo = Github::Repos.new user: 'rails', repo: 'rails' repo.stats.contributors 我得到的是前100个结果 我试图查询链接头中包含的分页信息。我在rails控制台中的输出: irb(main):001:0> repo = Github

我正在使用并尝试。问题是我只能得到100个结果,无法访问其他页面。这似乎是一个很常见的问题,但我找不到答案

例如,让我们看看rails/rails回购。共有1990名贡献者:

  repo = Github::Repos.new user: 'rails', repo: 'rails'
  repo.stats.contributors
我得到的是前100个结果

我试图查询链接头中包含的分页信息。我在rails控制台中的输出:

irb(main):001:0> repo = Github::Repos.new
=> #<Github::Repos:0xa6941dc *@current_options ommited* >

irb(main):002:0> res = repo.stats.contributors user: 'rails', repo: 'rails'
=> #<Github::ResponseWrapper *@body omitted* >

irb(main):003:0> res.links
=> #<Github::PageLinks:0xa2a966c @next=nil, @last=nil>
irb(main):001:0>repo=Github::Repos.new
=> #
irb(main):002:0>res=repo.stats.contributors用户:'rails',repo:rails'
=> #
irb(主):003:0>res.links
=> #
没什么

传递
auto_pagination
选项对我来说没有任何改变


我遗漏了什么?

我不确定您传入的
自动分页
选项是什么意思,因为这似乎是在创建新的
GitHub
实例时配置的,例如

github = GitHub.new do |config|
  config.auto_pagination = true
end
github.repos.contributors 'rails', 'rails'

坦率地说,我建议使用官方的GithubAPI gem--。它为您完成分页工作,并智能地知道何时可以将每页的项目数增加到100个。

我尝试了很多方法,最终使用了底层的GitHub API HTTP方法。例如:

curl https://api.github.com/repos/rails/rails/stats/contributors 
什么都没有。因此,我向GitHub支持部门发送了一封电子邮件。以下是来自以下方面的答案:

谢谢你联系。那个特殊的方法不支持 分页,因此我们有效地将参与者数据限制为100 正如你所发现的。我不能保证我们是否/何时能出席 更多关于这一点的数据,因为这对我们来说是一种昂贵的终结点。 密切关注API开发人员文档的更新


谢谢,韦恩。因此,GitHub Repo Statistics API不支持分页。无法获得结果超过100个的参与者列表。

面对同样的问题,我的解决方案是退回到git命令行:

计数提交:

$ git log --author="X Y" --oneline --shortstat|wc -l
224
三角洲计数:

$ git log --author="X Y" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

新增行数:1861,删除行数:1243,总行数:618

感谢回复!是的,
自动分页
选项是一个配置步骤。根据我们通过
自动分页的阶段,它将影响所有请求或仅影响单个请求。我试图在创建一个新的
Github
实例时添加它,并将其传递到
Github::Repos
部分API和单个请求中。这对我不起作用。我知道奥克托基特。但是GitHub API Gem似乎有更好的文档。坦率地说,我不同意更好的文档,但我主要不是ruby开发人员。如果您有疑问,我敢肯定这里也有一个octokit标签。他们很快就回答了这些问题。分页与贡献者无关。