当特定用户发推特时,我想执行某些操作。那么在twitter4j中是否可以侦听来自特定用户帐户的推文并处理事件?
我知道答案是什么:读取流式API。但是我认为它太大了,我只想听特定账户的推文,因此我在这里问。
最佳答案
您应该尝试示例代码:
TwitterStream twitterStream = new TwitterStreamFactory(new ConfigurationBuilder().setJSONStoreEnabled(true).build()).getInstance();
twitterStream.setOAuthConsumer(_consumerKey, _consumerSecret);
AccessToken token = new AccessToken(_accessToken, _accessTokenSecret);
twitterStream.setOAuthAccessToken(token);
StatusListener listener = new StatusListener() {
public void onStatus(Status status) {
logger.info(DataObjectFactory.getRawJSON(status));
//do your action here
}
...
};
twitterStream.addListener(listener);
FilterQuery query = new FilterQuery();
query.follow(new long[] { _twitterUserId });
twitterStream.filter(query);
}