Yammer API - 分页

时间:2014-07-10 21:15:45

标签: api yammer

我正在尝试通过其余API收集一系列消息,并且我知道您一次只能检索20个结果。我已经尝试过递增一个页面变量,但这没有任何影响,每次无论页码(https://www.yammer.com/api/v1/messages.json?page=6)我都得到相同的结果。我已经开始使用newer_than和older_than参数来浏览结果,并且它在某种程度上起作用,但它似乎是排除记录。我使用以下方法:

由于只设置newer_than只会产生20条最新记录,只要它们比newer_than参数中发送的id更新,我也会设置动态的old_than参数。

  1. 仅使用比参数更新的请求发送请求。这将返回最近的20条记录。 (例如:ww.yammer.com/api/v1/messages.json?newer_than=235560157)
  2. 在JSON中提取第20个ID的ID,并使用它来填充older_than参数。结果是20个不同的记录。 (eg.ww.yammer.com/api/v1/messages.json?newer_than=235560157&older_than=405598096)
  3. 重复步骤2,直到没有返回结果,因为newer_than和older_than参数最终会重叠。
  4. 问题是使用此方法返回的记录集小于为数据导出API发送的消息返回的记录数。我的工作是假设始终生成的新消息ID的值大于任何旧消息。

    我是否可能误解了如何使用REST API实现分页结果?

    非常感谢任何帮助!

    提前致谢!

3 个答案:

答案 0 :(得分:1)

首先,page参数仅适用于搜索API。

其次,您尝试获取消息的方式不会返回对消息的任何注释,也不会根据“extended”参数返回任何消息的前2条注释。默认情况下,它会对每条消息返回2条评论。要获得有关消息的所有评论,您必须以消息方式单独获取消息。

这必然会导致上述两种方法中的消息数量不同。

答案 1 :(得分:1)

我同意Farhann - 默认情况下,其余API端点仅返回任意消息的前两个注释。要获得帖子的所有评论,您必须单独提出请求。

通过使用Data Export API,还会导出所有注释以及消息(公共和私有),这会增加消息数量。虽然,API调用默认情况下仅返回任何消息的最近2条评论。

答案 2 :(得分:0)

数据导出包括私人消息。该API调用不会返回私人消息。

检查您未看到的消息是否为私人消息。