我的目标是通过getHomeTimeline方法中的Paging,从最新的时间开始,从时间轴中获取推文,一次一个。
当我不使用Paging时,我得到预期的20个结果,但是当我使用Paging只获得一条推文时,我得到0结果。
这是我的代码段:
Twitter twitter = getTwitterObject();
Long maxid = prefs.getLong(MAXTWEETID2, Long.MAX_VALUE); //Initially is MAX_VALUE
Long sinceid = prefs.getLong(MINTWEETID2, 1L); //Initially is 1
Paging paging = new Paging(1, 1, sinceid, maxid);
statuses = twitter.getHomeTimeline(paging);
我想使用之前的paging with sinceId和maxId,因为我想在连续查找中使用游标来约束我的查询。
但我也尝试过使用:
Paging paging = new Paging(1, 1);
同样无效的结果。
我搜索了网络和本论坛,但没有得到关于在搜索用户时间轴时使用分页的限制的任何线索。
答案 0 :(得分:0)
看起来这与将max_id
设置为Long.MAX_VALUE
有关。如果您将max_id
设置为Long.MAX_VALUE - 1
,则应该会看到结果。这可能是API中的错误。
我建议不要将count
设置得那么低。 API调用很昂贵,您可以快速达到速率限制。例如,此API调用仅允许在每个“速率限制窗口”中进行15次调用(目前为15分钟)。您可以找到有关rate limiting here的更多信息。
最后,getHomeTimeline(Paging)
不支持Paging
提供的所有参数。它确实支持since_id
,max_id
和count
,但不支持page
- 它将被忽略。这是Twitter4J中大多数API调用的情况。您可以参考Twitter4J's API Support Matrix文档找出每个API调用支持的参数。