有什么办法可以使用twitter4j列出某个用户的所有推文?Twitter.get****Timeline()
从用户的主时间轴返回20条最新推文的列表,但是如果我要列出用户到目前为止的所有推文,该怎么办。
最佳答案
您可以使用Paging
对象获取更多状态并浏览时间线,例如:
final Paging paging = new Paging();
paging.count(200); // max statuses you can request for this call
List<Status> statuses = twitter.getUserTimeline(userId, paging);
要获取接下来的200种状态,只需将
paging.maxId
设置为刚收到的最早状态的id
并再次拨打电话:paging.maxId(earliestStatusId - 1);
statuses = twitter.getUserTimeline(id, paging);
等等...
我们从
maxId
中减去一个,因为它包含在内,我们不想再次获取最早的Status
。这种方法允许您以相反的时间顺序批量获取200个状态。这是Twitter建议处理时间轴的方法之一,有关更多信息,请参见Working with Timelines上的指南。
顺便说一句,通过此API调用,您只能检索到大约3k的用户最新状态,有关详细信息,请参见documentation。