【问题标题】:Twitter4j Listen to tweets from a particular userTwitter4j 收听来自特定用户的推文
【发布时间】:2014-02-18 06:15:25
【问题描述】:

我想在特定用户发布推文时执行某些操作。那么在 twitter4j 中是否可以监听来自特定用户帐户的推文并处理事件?

我知道答案是什么:阅读流 api。但我认为它对于我的目的来说太大了,我只想听来自特定帐户的推文。因此我在这里问它。

【问题讨论】:

    标签: java twitter4j twitter-streaming-api


    【解决方案1】:

    你应该试试示例代码:

        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);
    }
    

    【讨论】:

    • 我猜 twitterStream 会监听推文的随机样本。所以我不确定这段代码是否会听取用户的所有推文。它可能会错过一些推文。你对此有何看法?
    • 它监听来自特定用户的推文,该用户具有 id - twitterUserId。
    • 您可以申请(并付费)twitter firehose,以流式方式访问所有内容。他们很容易授予访问权限。
    • @hd1 我不能听我关注的帐户吗?我认为这是 twitter api 的基本内容,虽然我还没有阅读更多关于它的内容?
    • 此解决方案不支持流式保护用户。需要改用 UserStream。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多