在使用新的beta API之后,我编写了一个脚本,该脚本将Teams一对一的聊天导出到文本文件。这样一来,在迁移到新的租户之后,我的用户可以将聊天记录保存在某个地方。在完成代码并在我的第一个用户上尝试后,我发现每个聊天只能提取最近的20条消息。
这是我正在使用的API命令:https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/beta/api/chatmessage-list.md
是否有任何方法可以关闭限制,或者我缺少一些步骤以便导出所有聊天消息?我是Graph API的新手。
答案 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 条消息。没有这方面的文档。
就我而言,我发现它也有 50 个限制。
即
?top=50