2013-11-25 36 views
4

我正在使用令牌通过Octokit客户端访问github API。如何通过Octokit客户端请求

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个请求的速率限制。

似乎下一个请求没有被令牌授权。

如何使所有请求都由令牌授权?

回答

1

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

身份验证创建初始化/ 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> 
0

Octokit documentation摘自:

注:虽然Octokit自动分页将设置页面大小的 最大100,并寻求不超越你的速度极限,你可能 要使用自定义模式遍历大型列表。

+0

限速申请由令牌授权为每小时5000名的请求,我只是想用这个限制。 – megas