【问题标题】:Graph API for 365 Teams Chats throttled to 20 messages per chat365 团队聊天的 Graph API 限制为每个聊天 20 条消息
【发布时间】:2021-02-05 13:01:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: microsoft-graph-api microsoft-teams


    【解决方案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 并获取所有记录。

    【讨论】:

      【解决方案2】:

      您可以使用查询参数?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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-23
        • 2022-07-21
        • 2021-10-26
        • 2018-10-09
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 2022-12-16
        相关资源
        最近更新 更多