我正在尝试制作一个草图,从特定用户的 Twitter 时间轴中获取最后 100 条推文。我正在使用 Twitter4j,草图工作正常,但我了解到 Twitter4J 默认情况下将时间线结果限制为 20。
我已经看到此页面来了解如何在使用查询时获取超过 100 个,但在尝试获取特定用户的时间线时,它的工作方式似乎有所不同。如何使用 Twitter4j 检索超过 100 个结果 https://stackoverflow.com/questions/18800610/how-to-retrieve-more-than-100-results-using-twitter4j
感谢您的关注!
这是我的草图:
import twitter4j.conf.*;
import twitter4j.internal.async.*;
import twitter4j.internal.org.json.*;
import twitter4j.internal.logging.*;
import twitter4j.json.*;
import twitter4j.internal.util.*;
import twitter4j.management.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import twitter4j.util.*;
import twitter4j.internal.http.*;
import twitter4j.*;
import twitter4j.internal.json.*;
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("XXXXXX");
cb.setOAuthConsumerSecret("XXXXXX");
cb.setOAuthAccessToken("XXXXXX");
cb.setOAuthAccessTokenSecret("XXXXXX");
java.util.List statuses = null;
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
String userName ="XXXXXX";
int numTweets = 100;
String[] twArray = new String[numTweets];
try {
statuses = twitter.getUserTimeline(userName);
}
catch(TwitterException e) {
}
for (int i=0; i<statuses.size(); i++) {
Status status = (Status)statuses.get(i);
//println(status.getUser().getName() + ": " + status.getText());
twArray[i] = status.getUser().getName() + ": " + status.getText();
}
println(twArray);
我知道这个问题已经很老了,但是接受的答案并不是最好的解决方案,下面是解决这个问题的更优雅的代码。
...
Paging p = new Paging();
p.setCount(100);
return twitter.getUserTimeline("screenName",p);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)