你好,我试图使用Twitter4j检索1条tweet,但是setCount()方法正在做它想要的任何事情(也许只是我做错了什么),我在下面保留了我的代码。 我已经尝试过使用多个选项“ 1”,“ 2”,“ 0”,并且不管它检索多少条从3到10的tweet都是如此。
ConfigurationBuilder cf = new ConfigurationBuilder();
cf.setDebugEnabled(true)
.setOAuthConsumerKey("xxx")
.setOAuthConsumerSecret("xxxx")
.setOAuthAccessToken("xxxx")
.setOAuthAccessTokenSecret("xxxx");
TwitterFactory tf = new TwitterFactory(cf.build());
twitter4j.Twitter twitter = tf.getInstance();
try {
Query query = new Query("sverige");
QueryResult result;
do {
query.setCount(2);
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + tweet.getFavoriteCount() + tweet.getUser().getName());
}
} while ((query = result.nextQuery()) != null);
System.exit(0);
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
答案 0 :(得分:1)
您将获得该用户的所有推文,每页2条结果。因此,如果他们有22条推文,您将获得11页,每页2条推文。
query.setCount(2); // set the number of tweets per page
// get the next page until there are no more pages
} while ((query = result.nextQuery()) != null);
答案 1 :(得分:0)
当更多推文可用时,循环将继续查询推文。
这是因为
(query = result.nextQuery()) != null
为真,直到读取所有鸣叫(与查询匹配)为止。
setCount
仅限制每个搜索操作返回的推文数量。
在调试这种情况(如果您不想查看源代码/文档)时,您可以测试外部循环发生了多少次。