我正在尝试制作一种方法public void limit()
来检查速率限制并休眠,但如果它受到速率限制,则直到重置为止。但是,我无法弄清楚如何制作 RateLimitStatus。我试过了:
RateLimitStatus status = twitter.getRateLimitStatus();
但它实际上并没有返回 RateLimitStatus ......坦率地说,我不确定那是什么意思。无论如何,如果有人知道如何获得 RateLimitStatus,他们的帮助将不胜感激,因为目前我的项目可能由于速率限制而崩溃,我想改变这一点。提前致谢!
问问题
5012 次
3 回答
7
于 2013-07-25T15:27:35.143 回答
6
Map<String ,RateLimitStatus> rateLimitStatus = twitter.getRateLimitStatus();
for (String endpoint : rateLimitStatus.keySet()) {
RateLimitStatus status = rateLimitStatus.get(endpoint);
System.out.println("Endpoint: " + endpoint);
System.out.println(" Limit: " + status.getLimit());
System.out.println(" Remaining: " + status.getRemaining());
System.out.println(" ResetTimeInSeconds: " + status.getResetTimeInSeconds());
System.out.println(" SecondsUntilReset: " + status.getSecondsUntilReset());
}
于 2014-06-29T20:00:10.057 回答
0
Twitter API 还允许:
Log.d("TwitterActivity", "Limit:" + mTwitter.getFavorites().getRateLimitStatus().getLimit());
在哪里:
- mTwitter 是你的 Twitter 对象
- getFavorites() 可以被 Twitter4j 为 Twitter 对象提供的任何其他函数替换
- getLimit() 只是您可以选择的各种选项之一
你可以像这样检查:
if(mTwitter.getFavorites().getRateLimitStatus().getLimit() <= 0){
//do something
}
于 2016-01-06T04:08:55.593 回答