twitter4j バージョン 2.2.5 を使用しています。 と を併用するとsetPage()
うまくいかないようです。次のコードを参照してください。setSince()
setUntil()
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
AccessToken accessToken = new AccessToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
twitter.setOAuthAccessToken(accessToken);
int page = 1;
while(true) {
Query query = new Query("from:someUser");
query.setSince("2012-01-01");
query.setUntil("2012-07-05");
query.setRpp(100);
query.setPage(page++);
QueryResult qr = twitter.search(query);
List<twitter4j.Tweet> qrTweets = qr.getTweets();
if(qr.getTweets().size() == 0) break;
for(twitter4j.Tweet t : qrTweets) {
System.out.println(t.getId() + " " + t.getText());
}
}
setSince()
andsetUntil()
メソッドを使用すると、ループ内のコードは 1 回だけ実行されます。しかし、それらがなくてもsetPage()
うまくいくようで、より多くのツイート結果が得られます。
なぜこれが起こっているのですか?