gpt4 book ai didi

java - Twitter4j TwitterStream 无法获取所有推文

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:28 25 4
gpt4 key购买 nike

我正在尝试通过 twitter4j TwitterStream 对象获取 Twitter 上的所有推文。我不确定我是否收到了所有推文。为了测试流式 API 返回推文的延迟,我从我的 Twitter 帐户发布了一条推文。但即使过了很长时间我也没有收到那条推文。

twitter4j 是否捕获了发布在 Twitter 上的每条推文,或者它丢失了大部分推文?或者我在这里做错了什么?这是我用来获取推文的代码:

        StatusListener listener = new StatusListener(){
int countTweets = 0; // Count to implement batch processing

public void onStatus(Status status) {
countTweets ++;
StatusDto statusDto = new StatusDto(status);
session.saveOrUpdate(statusDto);

// Save 1 round of tweets to the database
if (countTweets == BATCH_SIZE) {
countTweets = 0;
session.flush();
session.clear();
}
}

public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}

public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}

public void onException(Exception ex) {
ex.printStackTrace();
}

public void onScrubGeo(long arg0, long arg1) {
// TODO Auto-generated method stub
}
};

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(Twitter4jProperties.CONSUMER_KEY)
.setOAuthConsumerSecret(Twitter4jProperties.CONSUMER_SECRET)
.setOAuthAccessToken(Twitter4jProperties.ACCESS_TOKEN)
.setOAuthAccessTokenSecret(Twitter4jProperties.ACCESS_TOKEN_SECRET);

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

session = HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();

// sample() method internally creates a thread which manipulates TwitterStream and calls these adequate listener methods continuously.
twitterStream.sample();

最佳答案

我对此持开放态度,但我相信它是这样工作的......

Streaming API 仅提供非合作伙伴的推文示例。它是“花园软管”,而不是一些 Twitter 合作伙伴使用的“消防水管”。但您可以申请完全访问权限。

.sample() 给出了这个“花园软管”。您的 Twitter 帐户将无权访问 firehose,但我认为如果您确实有访问权限,则有一个用于 firehose 的 twitterStream。

在此页面上搜索“statuses/sample”以获取详细信息:https://dev.twitter.com/docs/streaming-api/methods

关于java - Twitter4j TwitterStream 无法获取所有推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547470/

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