gpt4 book ai didi

java - Twitter Streaming API 速率限制..如何处理?

转载 作者:行者123 更新时间:2023-12-01 13:57:36 24 4
gpt4 key购买 nike

如果我让这段代码运行大约 3 周,Twitter Streaming API 流会不间断地运行吗?或者我是否需要跟踪速率限制,如果需要,我该怎么做?

 import twitter4j.*

public class SimpleStream {
public static void main(String[] args) {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey("******");
cb.setOAuthConsumerSecret("*****");
cb.setOAuthAccessToken("********");
cb.setOAuthAccessTokenSecret("******************");

TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();

StatusListener listener = new StatusListener() {


@Override
public void onStatus(Status status) {
User user = status.getUser();


String username = status.getUser().getScreenName();
System.out.println("Screen name: " + username);

String name = status.getUser().getName();
System.out.println("User's real name: " + name);

long user_id = status.getUser().getId();
System.out.println("Users_id: " + user_id);

}

};

twitterStream.addListener(listener);
twitterStream.sample();


}
}

最佳答案

您可以添加 RateLimitStatusListener 来跟踪是否达到限制,

twitterStream.addRateLimitStatusListener( new RateLimitStatusListener() {
@Override
public void onRateLimitStatus( RateLimitStatusEvent event ) {
System.out.println("Limit["+event.getRateLimitStatus().getLimit() + "], Remaining[" +event.getRateLimitStatus().getRemaining()+"]");
}

@Override
public void onRateLimitReached( RateLimitStatusEvent event ) {
System.out.println("Limit["+event.getRateLimitStatus().getLimit() + "], Remaining[" +event.getRateLimitStatus().getRemaining()+"]");
}
} );

另请查看 twitter-faq 中有关“速率限制”的部分:https://dev.twitter.com/docs/faq#6861

*Streaming API 的速率限制是如何确定的?

公共(public)流式 API 将发送到客户端的消息数量限制在任何给定时刻的推文总量的一小部分。

样本软管,如 https://stream.twitter.com/1/statuses/sample.json 中所述,以等于公共(public)流媒体上限的量提供所有推文的随机样本。

过滤后的流将返回所有匹配的推文,其数量等于流上限。如果有更多推文符合您的条件,您将收到一条速率限制消息,指示有多少推文未发送。*

关于java - Twitter Streaming API 速率限制..如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com