为什么我要达到Twitter API速率限制?

时间:2015-05-28 20:45:22

标签: ruby twitter

我正在使用下面的代码使用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

1 个答案:

答案 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集合的样子。