使用 Graph API 获取会议脚本和录制内容

重要

从 2025 年 8 月 25 日开始,本文中列出的 Teams API 不再按流量计费,并且使用这些 API 不需要计费配置。 如果应用程序配置为计费,则无需执行任何操作。 本文仅供在按流量计费的 Microsoft Teams API 的最终计费周期结束时提供参考。

现在,你可以将应用配置为在会议或通话结束后提取 Microsoft Teams 脚本和录制内容。 应用可以使用 Microsoft Graph REST API 访问和提取为以下实例生成的脚本和录制内容:

  • 计划的联机会议
  • 临时调用

用例

下面是使用 图形 API 提取会议脚本和录制内容的一些用例。

用例 说明 API 的帮助
为 计划的实例 (如在线会议)自动提取会议脚本和录制内容 作为销售经理,你需要获取转录和录音,以便从整个销售垂直领域的多个会议中获取有意义的见解。 密切关注所有会议并从中手动检索会议脚本和录音以获取有用的信息既耗时又低效。 在应用中使用 Graph API 从与你的目的相关的所有会议中自动提取会议脚本和录制内容。 应用将接收会议通知,并在会议结束后生成脚本和录制内容时获取该脚本和录制内容。
然后,此数据可用于获取:
• 聚合见解和智能分析
• 新的潜在顾客和亮点
• 会议跟进和摘要
为 联机会议等计划实例 提取会后转录和录制内容 作为人力资源计划,你将召开一个集思广益的会议,以了解和提高员工的健康状况和工作效率。 结束后,您需要分析讨论以收集数据点以进行规划改进。 必须不断做笔记以提供会后摘要可能会阻碍思路的流动,并且您可能无法捕获所有有价值的建议。 在应用中使用 Graph API 在会议后提取转录和录制内容,让你和参与者能够完全专注于讨论。 会议脚本和录制内容适用于:
• 参与度和情绪分析
• 列出任务或问题
• 后续会议和通知
为在线会议等 计划实例 创建个性化应用 作为领先科技公司的销售人员,您必须与客户建立联系并达成交易。 由于通过 Teams 和 Outlook 日历安排了许多会议,因此参加所有通话并随时了解讨论和最新更新至关重要。 创建一个具有以下功能的应用:
• 使用 Teams 或 Outlook 日历安排会议时通知您。
• 允许应用为这些会议进行设置 AutoRecording=true 。
• 将机器人添加为会议参与者,以显示一个横幅,指示正在录制会议以及您的应用使用该内容进行分析。
• 允许应用访问会议录制和脚本。
• 无需管理员批准 OnlineMeetingRecording.Read.All 权限即可允许应用,因为获取这些权限的管理员批准可能非常耗时。
下面是展示此用例场景的 示例应用 。
为临时实例提取会后转录和录制内容 作为项目经理,您的角色需要您进行自发的群组或一对一通话,这些通话无法事先安排。 如果没有会议邀请,则不会生成会议 ID,因此无法访问脚本和录制内容。 记下大量笔记会留下很大的空间来错过关键的行动项目。 在应用中使用 Graph API 提取会议后转录和录制内容,让你和参与者能够完全专注于讨论。 通过使用权限 CallTranscripts.Read.All and CallRecordings.Read.All,通话脚本可用于:
• 捕获重要操作项
• 列出待办事项或问题
• 后续会议和通知
获取 PSTN 通话的通话后转录和录音 你有一个呼叫中心,其中人工助理使用 Microsoft Teams 的传入或传出 PSTN 呼叫提供客户支持。 通话结束后,助理需要使用每次通话的笔记手动更新外部记录系统。 在应用中使用 Graph API 在通话后提取转录和录制内容,可以减少每个助手更新记录所需的手动工作。 此外,它还允许你的应用使用通话记录触发自动化。

获取会议和通话脚本和录音

若要获取特定会议和通话的脚本和录音:

  1. 在 Microsoft Entra ID 上配置访问脚本和录制的权限
  2. 会议脚本和录制可用时获得通知
  3. 使用图形 API 提取脚本
  4. 使用 Graph API 提取录制

在 Microsoft Entra ID 上配置访问脚本和录制的权限

应用必须具有提取脚本和录制内容所需的权限。 它可以使用组织范围的应用程序权限或特定于资源的许可 (RSC) 特定会议的应用程序权限来访问和提取 Teams 会议的脚本和录制内容。

此外,对脚本和脚本更改通知的访问受两个独立租户管理员设置的约束:

  • 对脚本的图形 API 访问。 禁用后,所有脚本请求 (元数据, metadataContent并且 content) 403 Forbidden 返回内部错误代码, GraphAccessToTranscriptsDisabled 无论请求的格式如何。

  • 说话人归属。 禁用后,只能检索脚本内容,而无需格式中的 application/vnd.microsoft.graph.transcript+text 说话人信息。

有关详细信息,请参阅有关 更改通知订阅 和 Get callTranscript 操作的文档中有关租户管理员控件的部分。

注意

  • 上述资源需要与) 并OnlineMeetings行 (新的权限adhocCalls。
  • 订阅两个单独的、作用域适当的资源, (一个用于 onlineMeetings) ,另一个用于 adhocCalls 。 这些资源提供用于提取数据的 URL。

使用组织范围的应用程序权限

对于联机会议和通话,可以将应用配置为跨租户访问会议脚本和录制内容。 在这种情况下,会议组织者无需在 Teams 会议聊天中安装应用。 当管理员授权组织范围的应用程序权限时,你的应用可以读取和访问租户中所有会议的脚本和录制内容。

有关可授予应用的组织范围的应用程序权限的详细信息,请参阅 联机会议权限。

注意

允许基于应用的权限和用户委派的权限用于临时调用。

使用特定于会议的 RSC 应用程序权限

如果你希望应用仅提取安装它的 Teams 会议的脚本和录制内容,请为应用配置特定于会议的 RSC 权限。 授权用户可以在会议聊天中安装应用。 会议结束后,应用可以进行 API 调用,以获取该会议的脚本和录制内容。

有关特定于会议的 RSC 权限的详细信息,请参阅 聊天或会议的 RSC 权限。

注意

未启用针对临时呼叫的基于 RSC 的权限。

脚本或录制内容可用时获取通知

配置权限后,将应用配置为接收脚本和录制内容的 更改通知 (如果可用)或所有相关会议和临时通话。 对于联机会议,通知包含会议 ID 和组织者 ID,可帮助访问脚本内容和录制。 在会议结束后生成会议脚本和录制内容时,应用可以提取该会议的脚本和录制内容。 对于临时呼叫,会议 ID 将不可用,因为这些是 PSTN 1:1 组通话) (自发事件。 虽然临时调用的通知路径没有限制, getAll 但 API 也不可用于临时调用实例 (例如,调用级别项目列表) 。 脚本的内容以文件形式 .vtt 提供。 会议的录制以文件形式 .mp4 提供。

可以对应用使用以下类型的更改通知:

订阅范围 说明 支持的资源路径
租户级 脚本或录音可用于租户的任何联机会议或通话。 组织中的所有脚本:
• 对于在线会议: communications/onlineMeetings/getAllTranscripts
• 对于通话: communications/adhocCalls/getAllTranscripts

组织中的所有录制内容:
• 对于在线会议: communications/onlineMeetings/getAllRecordings
• 对于通话: communications/adhocCalls/getAllRecordings
会议或通话级别 脚本或录音可用于特定会议或通话。
特定会议的所有脚本: communications/onlineMeetings/{onlineMeetingId}/transcripts

特定会议的所有录制内容: communications/onlineMeetings/{onlineMeetingId}/recordings

特定临时通话的所有脚本: /communications/adhocCalls/{callId}/transcripts

特定临时通话的所有录音: /communications/adhocCalls/{callId}/recordings
用户范围 脚本或录制内容可用于由特定用户发起的任何联机会议、组织或临时通话。 在由特定用户组织的会议或由指定用户发起听录的呼叫中可用的通话脚本:
• 对于在线会议: users/{userId}/onlineMeetings/getAllTranscripts
• 对于临时呼叫: users/{userId}/adhocCalls/getAllTranscripts

在由特定用户组织的会议或由指定用户启动听录的呼叫中可用的通话录制:
• 对于在线会议: users/{userId}/onlineMeetings/getAllRecordings
• 对于临时呼叫: users/{userId}/adhocCalls/getAllRecordings
应用范围 脚本或录制内容可用于安装了特定 Teams 应用的任何会议。 不适用于临时调用。 在安装了特定 Teams 应用的会议中变为可用的通话脚本:
• 对于在线会议: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTranscripts

在安装了特定 Teams 应用的会议中变为可用的通话录制:
• 对于在线会议: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings

有关应用如何在联机会议或临时通话结束后知道脚本或录制内容何时可用,请参阅在 脚本和录制内容可用时收到通知。

有关应用如何知道会议何时结束的详细信息,请参阅订阅 更改通知 和 使用 Bot Framework 获取会议 ID 和组织者 ID。

重要

  • 调用 Graph API 以访问和检索脚本和录制内容的过程对于会议特定的 RSC 应用程序权限和组织范围的应用程序权限保持不变。
  • 这些 API 仅在 beta 版本中支持私人聊天会议、频道会议和临时通话。
  • 对于临时调用:

获取 AI 生成的在线会议实例会议摘要

应用可以使用会议 AI 见解 API 直接提取 AI 生成的会议摘要,包括对话摘要、拟办事项和提及。 有关详细信息,请参阅使用会议 AI 见解 API 获取会议见解。

代码示例

示例名称 Description Node.js C# Python
聊天机器人会议 此示例演示如何在 Microsoft Teams 中处理实时会议事件和检索会议脚本。 View View View
联机会议脚本录制 此示例应用使用 Graph API 检索 Teams 会议脚本和录制内容。 View View 不适用
临时通话脚本和录音 此示例应用使用 Graph API 检索会议脚本和录制内容,用于临时通话,包括 PSTN、1:1 和群组通话。 View NA NA

后续步骤

另请参阅