使用Twitter Streaming API,Twitter Rest API获取用户数据

时间:2014-12-22 06:55:58

标签: twitter twitter4j twitter-streaming-api

我对Twitter用户的功能进行了一些分析,如跟随的数量,转推的数量,朋友的数量等 我从Twitter Rest API获取了所有信息 但是当我尝试检索所有数据时,发生了超出速率限制的错误 我可以从Twitter Streaming API获得所有这些数据,如果可以的话,我怎么能这样做? 如果不是什么解决方案?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在每个响应中,您可以调用getRateLimitStatus()来获取RateLimitStatus,如果剩余调用为0,则休眠该线程直到时间限制结束。

do {
    TwitterResponse response = twitter.getFollowersIDs(userId, cursor);
    RateLimitStatus status = response.getRateLimitStatus();
    if(status.getRemaining() == 0) {
        try {
            Thread.sleep(status.getSecondsUntilReset() * 1000);
        }
        catch(InterruptedException e) {
            // ...
        }
    }
} while(cursor > 0);

Twitter API update limits error 403