1

Hello guys I would ask you why I my code doesn't get me all the tweet I asked for in the query, and it's just stop next the first page result. I'm asking because the same code worked very well just six months ago.

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

So after the first iteration of do, query is always null, and what I gain is only the tweets about few hours of friday. I thought that I'm not wil be able to obtain tweets older than a week, but this is only a day (3 days ago...)

Are there any news or updates from Twitter guys I've missed?

Tunarock
  • 127
  • 1
  • 1
  • 12

1 Answers1

0

Try using:

do{

...


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

Your query will get the results from the next page, if it exists.