365 Teams 聊天的图表 API 限制为每次聊天 20 条消息

Graph API for 365 Teams Chats throttled to 20 messages per chat

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

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

有什么方法可以关闭限制,或者我是否缺少某些步骤以便可以导出 所有 聊天消息?我是 Graph API.

的新手

不是节流问题。

图 API 实现了某些 API 的分页。对于List chat messagesAPI,20条消息是目前的限制。 API 响应有 "@odata.nextLink" 属性 和 link 以获取接下来的 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 并获取所有记录。

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

这里是引用URL。 https://techcommunity.microsoft.com/t5/microsoft-teams/ms-teams-graph-api-number-of-messages-returned-by-get-messages/m-p/819565

在我的例子中,我发现它也有 50 个的限制。

?top=50