Twitter4j getHomeTimeline(Paging)没有检索我想要的东西

时间:2014-07-22 21:59:11

标签: paging twitter4j timeline

我的目标是通过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);

同样无效的结果。

我搜索了网络和本论坛,但没有得到关于在搜索用户时间轴时使用分页的限制的任何线索。

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_idmax_idcount,但不支持page - 它将被忽略。这是Twitter4J中大多数API调用的情况。您可以参考Twitter4J's API Support Matrix文档找出每个API调用支持的参数。