如何通过Octokit客户端提出请求

时间:2013-11-25 00:56:25

标签: ruby api octokit

我正在使用令牌来访问Octokit客户端的github api。

client = Octokit::Client.new(access_token: TOKEN)

似乎没问题:

client.rate_limit
=> #<struct Octokit::RateLimit
 limit=5000,
 remaining=4998,
 resets_at=2013-11-25 03:38:41 +0200,
 resets_in=3533>

所以现在我想得到一些信息

repo = client.repo 'rails/rails'
repo.rels[:events]
repo.rels[:events].get.data

但是当我到了下一页时

repo.rels[:events].get[:next] 

我达到了每小时60个请求的速率限制。

似乎下一个请求未经令牌授权。

如何通过令牌授权所有请求?

2 个答案:

答案 0 :(得分:3)

也许您的令牌已过期或client变量已失去范围。

使用身份验证创建initializers / octokit.rb:

Octokit.configure do |c|
  c.client_id = ENV['GITHUB_ID']
  c.client_secret = ENV['GITHUB_SECRET']
end

我选择做id和秘密。

并通过以下方式提出您的请求:

repo = Octokit.repo 'rails/rails'

创建初始化程序后,您可以在rails c中进行测试:

> Octokit.rate_limit
 => #<struct Octokit::RateLimit limit=5000, remaining=4927, resets_at=2016-04-22 12:24:52 -0300, resets_in=2102> 

答案 1 :(得分:0)

取自Octokit documentation

  

注意:虽然Octokit自动分页会将页面大小设置为   你可能最多100,并设法不超过你的速率限制   想要使用自定义模式遍历大型列表。