Java 使用MaxId从上次获取中获取特定用户的tweet
我们使用twitter4j userTimeLine从特定用户那里获取推文。如何使用maxId以及如何从上次获取的推文中获取推文 我的源代码如下:Java 使用MaxId从上次获取中获取特定用户的tweet,java,twitter4j,Java,Twitter4j,我们使用twitter4j userTimeLine从特定用户那里获取推文。如何使用maxId以及如何从上次获取的推文中获取推文 我的源代码如下: public List<Status> userTimeLine(String keyWord, int page, int count) { log.info("Showing user timeline."); List<Status> statuses = new ArrayList&
public List<Status> userTimeLine(String keyWord, int page, int count) {
log.info("Showing user timeline.");
List<Status> statuses = new ArrayList<Status>(0);
Paging paging = new Paging(page, count);
try {
statuses = twitter.getUserTimeline(keyWord, paging);
} catch (TwitterException e) {
log.error("Unable to find user timeline", e);
}
return statuses;
}
public List userTimeLine(字符串关键字、int页面、int计数){
log.info(“显示用户时间线”);
列表状态=新的ArrayList(0);
分页=新分页(分页,计数);
试一试{
status=twitter.getUserTimeline(关键字,分页);
}捕获(twitter异常){
日志错误(“无法找到用户时间线”,e);
}
返回状态;
}
此代码在第一次获取时返回100条tweet。在第二次获取中,如果用户发布了新的推文,它将检索102[100(上次获取的推文)+2(新推文)]。否则,它会为每次获取返回相同的100条tweet
如何解决从最后一次获取tweets中获取tweets的问题?您可以使用分页来指定tweets(按状态id),以使用sinceId和maxId方法获取中间发布的tweets
since_id: returns elements which id are bigger than the specified id
max_id: returns elements which id are smaller than the specified id
例如:
Paging paging = new Paging(1, 10).sinceId(258347905419730944L).maxId(258348815243960320L);
List<Status> statuses = twitter.getHomeTimeline(paging);
请把你的密码写下来,我们可以在上面看到sthg。。您能解释一下如何获取sinceId和maxId的值吗?它比使用sinceId或maxId更有用,也更容易使用分页。你必须看分页,我会给你一个小样本代码:)看看这个SST(特别是6-分页控件),你可以找到很多关于获取tweet的样本代码;我有一个解决办法。。。谢谢你……:)
Query query = new Query("from:somebody").since("2011-01-02");
Twitter twitter = new TwitterFactory().getInstance();
QueryResult result = twitter.search(query);