当特定用户发推特时,我想执行某些操作。那么在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);
}

07-24 09:17