365个团队聊天的Graph API的每次聊天限制为20条消息

时间:2020-04-15 14:10:30

标签: microsoft-graph-api microsoft-teams

在使用新的beta API之后,我编写了一个脚本,该脚本将Teams一对一的聊天导出到文本文件。这样一来,在迁移到新的租户之后,我的用户可以将聊天记录保存在某个地方。在完成代码并在我的第一个用户上尝试后,我发现每个聊天只能提取最近的20条消息。

这是我正在使用的API命令:https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/beta/api/chatmessage-list.md

是否有任何方法可以关闭限制,或者我缺少一些步骤以便导出所有聊天消息?我是Graph API的新手。

2 个答案:

答案 0 :(得分:1)

不是由于节流问题引起的。

Graph API实现某些API的分页。对于List chat messages API, 20 消息是当前的限制。该API响应具有“ @ odata.nextLink” 属性,该属性具有可提取接下来的20条消息的链接。

示例响应

"@odata.context": "https://graph.microsoft.com/beta/LongUrlShort/messages",
"@odata.count": 20,
"@odata.nextLink": "https://graph.microsoft.com/beta/me/chats/LongUrlhSort",

因此,您需要在调用API时进行处理。您可以循环调用API并获取所有记录。

答案 1 :(得分:1)

您可以使用查询参数 ?top=30 获取前 30 条消息。没有这方面的文档。

这是参考网址。 https://techcommunity.microsoft.com/t5/microsoft-teams/ms-teams-graph-api-number-of-messages-returned-by-get-messages/m-p/819565

就我而言,我发现它也有 50 个限制。

?top=50