本文介绍如何在迁移会话期间使用 Microsoft Graph 将消息导入现有 Microsoft Teams 聊天或频道。 消息导入适用于迁移方案,需要将目标聊天或频道置于 迁移模式 ,然后才能导入内容。
何时使用消息导入
需要以下操作时使用消息导入:
- 将历史消息迁移到现有 Teams 聊天或频道。
- 保留邮件来自) 的原始作者属性 (。
- (可选)保留 (或设置) 每条消息的历史时间戳。
要求
若要使用 Teams 消息 API 导入消息,必须满足以下条件:
- 仅限应用 (应用程序) 上下文:必须使用应用程序权限发出请求。
- 所需权限:必须向
Teamwork.Migrate.All调用应用授予应用程序权限。 - 必须在目标上启用迁移模式:
- 若要在通道上启用迁移模式,请调用 通道:startMigration。
- 若要在聊天中启用迁移模式,请调用 chat: startMigration。
- 作者属性是必需的:设置 from 属性,将导入的消息归因于与经过身份验证的应用程序属于同一租户的用户。
- 如果指定 createdDateTime) , (可选时间戳规则:可以为导入的消息设置自定义时间戳,但它必须满足以下约束:
- 该值必须 晚于 目标聊天或频道的 createdDateTime 。
- 该值 不能在 将来使用。
- 该值必须 唯一到 目标聊天或频道中的毫秒。 如果存在具有相同 createdDateTime 的消息,则请求失败,并调整
409 Conflict值并重试。
注意
- 只有目标通道上调用 startMigration 或在目标聊天上调用 startMigration 的应用程序才能将消息导入其中。 在拥有的应用程序通过调用通道: completeMigration 或 chat: completeMigration 完成迁移之前,任何其他应用程序都不能在通道或 聊天上请求此 API。
- 在目标通道上调用 completeMigration 或在目标聊天上调用 completeMigration 完成迁移之前,某些导入的消息在 Teams 客户端中可能不可见。
疑难解答
409 导入邮件时发生冲突
createdDateTime 在目标聊天或频道中必须唯一到毫秒。 如果存在具有相同 createdDateTime 的消息,则请求失败并出现 409 Conflict。 调整 createdDateTime 并重试请求。