Yammer JSON Feed只返回20条消息

Aak*_*sha 4 yammer

我试图从特定组中获取所有消息.我得到了json反馈.唯一的问题是,它只返回20条消息.这是默认设置还是其他设置.在执行请求时,有什么方法可以指定我是否需要所有消息,默认情况下只需20条甚至是在开始日期和结束日期之间发布的消息?

我的RestApi电话是:

https://www.yammer.com/api/v1/messages/in_group/[id].json

来自Yammer开发者文档<

自动填充:10秒内有10个请求.

消息:30秒内有10个请求.

通知:30秒内有10个请求.

所有其他资源:10秒内10次请求.

这些限制是独立的,例如在相同的30秒时间内,您可以进行10次消息呼叫和10次通知呼叫.具体的费率限制可能会有所变化,但遵循以下指导原则可确保您的应用不被阻止.>>

我已经尝试使用limit作为参数来更改超过20的消息数.但它似乎没有工作?

这个问题是因为速率限制.如果没有,问题是什么?

Pop*_*eye 7

来自Yammers Developer文档的官方文档


消息 - 查看消息

终点:

1)用户的所有公共消息(其访问令牌用于进行API调用,此后称为当前用户)Yammer网络.对应于Yammer Web界面中的"所有"对话.

GET https://www.yammer.com/api/v1/messages.json
Run Code Online (Sandbox Code Playgroud)

2)用户的订阅源,基于他们在"关注"和"顶部"对话之间做出的选择.

GET https://www.yammer.com/api/v1/messages/my_feed.json
Run Code Online (Sandbox Code Playgroud)

3)对应于"热门"对话的用户算法提要,这是绝大多数用户将在Yammer Web界面中看到的.

GET https://www.yammer.com/api/v1/messages/algo.json
Run Code Online (Sandbox Code Playgroud)

4)"关注"馈送,其是涉及用户正在关注的人,组和主题的对话.

GET https://www.yammer.com/api/v1/messages/following.json
Run Code Online (Sandbox Code Playgroud)

5)用户发送的所有消息./api/v1/messages/from_user/logged-in_user_id.format的别名.

GET https://www.yammer.com/api/v1/messages/sent.json
Run Code Online (Sandbox Code Playgroud)

6)用户收到的私人消息.

GET https://www.yammer.com/api/v1/messages/private.json
Run Code Online (Sandbox Code Playgroud)

7)用户收到的所有消息.

GET https://www.yammer.com/api/v1/messages/received.json
Run Code Online (Sandbox Code Playgroud)

参数:

消息API端点返回类似的结构并支持以下查询参数:

older_than - 返回早于指定为数字字符串的消息ID的消息.这对于分页消息很有用.例如,如果您当前正在查看20条消息,而最早的消息是2912号,则可以在您的请求中附加"?older_than = 2912",以便在您看到的消息之前获取20条消息.

newer_than - 返回比指定为数字字符串的消息ID更新的消息.轮询新邮件时应使用此选项.如果你正在寻找的信息,并返回最近的消息是3516,你可以用参数"?newer_than = 3516"的要求,以确保你没有得到已经在页面上邮件的重复副本.

threaded = [true | 扩展] - threaded = true只返回每个线程中的第一条消息.此参数适用于显示折叠消息线程的应用程序.threaded = extended将按照最近活动的顺序返回线程启动程序消息以及两条最新消息,因为它们是在Yammer Web界面的默认视图中查看的.

limit - 仅返回指定数量的消息.适用于threaded = true和threaded = extended.


注意到你可以在你的GET请求上设置的限制参数 - 所以基于这个文档,如果它是正确的(我不是Yammer开发人员,但我确实使用它)你应该能够做到

https://www.yammer.com/api/v1/messages.json?limit=50
Run Code Online (Sandbox Code Playgroud)

这是在理论上,而且可通过文档阅读上有一个部分搜索

page - 每个页面只返回20种类型的结果,但每次查询都会返回一个总计数.page = 1(默认值)将返回项目1-20,page = 2将返回项目21-30等.

其中告诉我他们只返回20个结果.

UPDATE

使用后测试它https://www.yammer.com/api/v1/messages.json?limit=50并且它没有返回50消息但是https://www.yammer.com/api/v1/messages.json?limit=5只会返回5消息我会说Yammer限制消息的数量20也是在读完文档之后我读了一下

例如,如果您当前正在查看20封邮件,而最早的邮件是2912号邮件,则可以在您的请求中附加"?older_than = 2912",以便在您看到的邮件之前获取20封邮件

这告诉我他们最多只返回20个.所以我认为你一次只能处理20条消息.

希望这可以帮助.