2010-06-17 133 views
0

我正在使用twitter4J获取用户的朋友时间表,但未返回完整的可用历史记录。我知道有分页限制(每个请求200个,总共3200个,按照the documentation),我很好。我提出如下要求:Twitter朋友时间表未返回完整历史记录

private static final int MAX_COUNT = 200; 

private List<Status> getAllStatuses(long sinceID) throws TwitterException { 
    Twitter twitter = new Twitter(username, password); 
    List<Status> friendsTimelineList = new ArrayList<Status>(); 
    List<Status> tempList; 

    int page = 0; 
    do { 
     page++; 
     tempList = twitter.getFriendsTimeline(
          new Paging(page, MAX_COUNT, sinceID)); 
     if(tempList == null) 
      break; 
     friendsTimelineList.addAll(tempList); 
    } while(true); 

    return friendsTimelineList; 
} 

这导致在3页中只返回423个状态。任何想法为什么这可能会发生?

回答

0

基本上,我不知道在API中知道哪些数据会允许您从Twitter获取历史数据。有人推测他们甚至没有在自己的服务器上记录信息。至少可以通过挖掘不同的java api来获得这些信息,但是没有任何一个页面返回更多的页面。

这里有张贴在我得到的信息,从另一个问题(类似): Getting historical data from Twitter

因此,要回答你的问题正在发生,那是因为Twitter的不允许你攫取更多的那么,无论是因为他们没有它,或者他们不希望你拥有它:)