twitter4j result.nextQuery()给我总是null

时间:2015-10-12 14:48:12

标签: java twitter twitter4j twitter-rest-api

大家好我会问你为什么我的代码没有收到我在查询中要求的所有推文,而且它只是停在第一页结果旁边。我问,因为六个月前相同的代码运作良好。

Query query = new Query("Carolina OR flood lang:en since:2015-10-04 until:2015-10-09");

            query.setCount(100);
            QueryResult result;
            createNewFile(contFile);
            do {
                result = twitterInstance.search(query);                 
                List<Status> tweets = result.getTweets();
                for (Status tweet : tweets) {                       
                    if (cont > MAX_TWEET_PER_FILE) {
                        cont = 1;
                        contFile++;
                        writer.close();
                        createNewFile(contFile);
                    }
                    writeToFile(cont,tweet);
                    cont++;
                }


                if(result.getRateLimitStatus().getRemaining()<1){

                    try {
                        Thread.sleep(result.getRateLimitStatus().getSecondsUntilReset() * 1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                        throw new RuntimeException(e);
                    }
                }

            } while (query!=null);
            writer.flush();
            writer.close();
            System.exit(0);

因此,在do的第一次迭代之后,查询始终为空,而我获得的只是周五几个小时的推文。我以为我不能获得超过一周的推文,但这只是一天(3天前......)

我有没有错过Twitter人员的新闻或更新?

1 个答案:

答案 0 :(得分:0)

尝试使用:

do{

...


}while((query = result.nextQuery()) != null);

您的查询将从下一页获得结果(如果存在)。