【问题标题】:Get user data by using Twitter Streaming API, Twitter Rest API使用 Twitter Streaming API、Twitter Rest API 获取用户数据
【发布时间】:2014-12-22 21:43:44
【问题描述】:
我对推特用户的一些特征进行了一些分析,比如关注数、转发数、朋友数等
我的所有信息都来自 Twitter Rest API
但是当我尝试检索所有数据时发生了 Rate Limit Exceeded 错误
我可以从 Twitter Streaming API 中获得所有这些数据吗?如果可以,我该怎么做呢?
如果不是,解决方案是什么?
感谢帮助
【问题讨论】:
标签:
twitter
twitter4j
twitter-streaming-api
【解决方案1】:
对于每个响应,您可以调用 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