从Twitter流式传输REST API的结果

时间:2015-04-15 02:19:49

标签: java rest twitter4j twitter-rest-api

我正在使用Twitter4J库来处理Twitter的REST API,特别是在https://api.twitter.com/1.1/search/tweets.json端点上。我非常了解Twitter自己的Streaming API,但我不想使用它(至少目前为止)。我有一个方法通过/search/tweets循环查询do-while端点,但我希望方法返回流式方式,这样我就可以同时在控制台中打印结果,而不是加载所有内容一次全部。这是方法:

public List<Status> readTweets(String inputQuery) {

    List<Status> tweets = new ArrayList<Status>();
    int counter = 0;

    try {
        RateLimitStatus rateLimit = twitter.getRateLimitStatus().get("/search/tweets");
        int limit = rateLimit.getLimit();

        Query query = new Query(inputQuery);
        QueryResult result;

        do {
            result = twitter.search(query);
            tweets.addAll(result.getTweets());
            counter++;
        } while ((query = result.nextQuery()) != null && counter < (limit - 1));
    } catch (TwitterException e) {
        e.printStackTrace();
        System.out.println("Failed to search tweets: " + e.getMessage());
        tweets = null;
    }

    return tweets;
}

你能提出什么建议? 附:我不想把控制台打印功能放在这个方法中。

感谢。

0 个答案:

没有答案