我正在使用下面的代码使用Twitter API,我在循环中达到了API速率限制。
我的问题是:我如何达到限速?我相信我只是在分配myFollowers时进行一次API调用,而在循环中我只是查看myFollwers中每个对象的位置值,这应该只是服务器端处理。
require 'twitter'
client = Twitter::REST::Client.new do |config|
config.consumer_key = "xx"
config.consumer_secret = "xx"
config.access_token = "xx"
config.access_token_secret = "xx"
end
myFollowers = client.followers("mytwittername")
myFollowers.each do |follower|
if follower.location.include? 'New'
print Name: follower.name
puts Location: follower.location
end
end
答案 0 :(得分:0)
我相信默认情况下,client.followers不会为每个关注者加载整个用户实体,因此当您遍历关注者时,您将生成一个新请求,从而快速达到速率限制。
尝试在client.followers上设置:include_user_entities,调用true,看看会发生什么。请参阅下面的代码/文档链接。
http://www.rubydoc.info/gems/twitter/Twitter/REST/FriendsAndFollowers#followers-instance_method
如果这不起作用,请在client.followers调用后停止脚本,并告诉我们myFollowers集合的样子。