如何使用twitter4j Stream在Twitter上关注账户

时间:2014-07-04 07:37:59

标签: java twitter twitter4j

我正在使用Java进行项目,我需要关注一些Twitter帐户来收集有关流量的数据。 我开始使用Twitter API但突然发现限制太低所以我改为流API。这里没有限制,但我只知道如何在当前流中搜索某些内容,而不是仅从我想要的帐户中获取流。 这与twitter4J api有关吗?

我的代码如下:

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

    StatusListener listener = new StatusListener() {

        @Override
        public void onException(Exception arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onDeletionNotice(StatusDeletionNotice arg0) {
            // TODO Auto-generated method stub

        }

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

        }

        @Override
        public void onStatus(Status status) {

           //I process the tweet.

        }

        @Override
        public void onTrackLimitationNotice(int arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStallWarning(StallWarning arg0) {
            // TODO Auto-generated method stub

        }

    };
    FilterQuery fq = new FilterQuery();


    String keywords[] = {"a","e","i","o","u"};

    fq.track(keywords);


    twitterStream.addListener(listener);
    twitterStream.filter(fq); 

2 个答案:

答案 0 :(得分:1)

您可以使用FilterQuery对象指定要关注的用户,例如:

long[] userIds = { ...omitted... };
fq.follow(userIds);

twitterStream.filter(fq);

请注意,过滤推文时只需要匹配其中一个条件,即trackfollow,因此您可能需要进行一些手动过滤打算同时使用两者。

有关更多信息,请查看Twitter的follow parameterfilter stream文档。

答案 1 :(得分:0)

twitter.createFriendship("screenName");