Twitter4j getHomeTimeline(Paging) 没有检索到我想要的内容

问题描述 投票:0回答:1

我的目标是从时间轴获取推文,一次仅获取一条,在 getHomeTimeline 方法中使用分页,并从最新的开始。

碰巧,当我不使用 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 与sinceId和maxId一起使用,因为我想使用游标来限制连续查找中的查询。

但我也尝试过使用:

Paging paging = new Paging(1, 1);

同样的无效结果。

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

pagination twitter4j timeline
1个回答
0
投票

看起来这与将

max_id
设置为
Long.MAX_VALUE
有关。如果您将
max_id
设置为
Long.MAX_VALUE - 1
,您应该会看到结果。这可能是 API 中的错误。

我建议不要将

count
设置得这么低。 API 调用非常昂贵,并且您很快就会达到速率限制。例如,此 API 调用在每个“速率限制窗口”(当前为 15 分钟)内仅允许 15 次调用。您可以在此处了解有关速率限制的更多信息

最后,

getHomeTimeline(Paging)
并不支持
Paging
提供的所有参数。它确实支持
since_id
max_id
count
,但不支持
page
- 它将被忽略。 Twitter4J 中的大多数 API 调用都是这种情况。您可以参考 Twitter4J 的 API 支持矩阵 文档了解每个 API 调用支持哪些参数。

© www.soinside.com 2019 - 2024. All rights reserved.