Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用MaxId从上次获取中获取特定用户的tweet_Java_Twitter4j - Fatal编程技术网

Java 使用MaxId从上次获取中获取特定用户的tweet

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&

我们使用twitter4j userTimeLine从特定用户那里获取推文。如何使用maxId以及如何从上次获取的推文中获取推文

我的源代码如下:

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