Microsoft Graph 虚拟事件网络研讨会 API 允许你获取 Teams 网络研讨会数据,以及以编程方式创建、更新和取消 Teams 网络研讨会。
若要充分利用 Graph 虚拟事件网络研讨会 API,了解访问 Teams 网络研讨会体验的用户的角色会很有帮助:
- 组织者 是组织中 () 管理网络研讨会的员工。 他们是计划的权威和参与者。 他们配置网络研讨会属性,例如标题、主题、与会者体验和电子邮件规则。
- 演示者 是组织中 (员工) 或主持网络研讨会的来宾。
- 注册者 是组织内外 () 注册网络研讨会的用户。 可以注册、等待列表或拒绝它们。 他们可以选择取消网络研讨会注册。
- 与会者 是加入网络研讨会的注册者。 他们需要通过门户注册并回答注册问题。
- Teams 租户管理员 必须使用适当的权限授权自定义应用程序。
可以使用以下资源类型来生成网络研讨会解决方案:
- virtualEventWebinar - 用于创建、获取、更新、发布、取消和列出 Teams 网络研讨会。
- virtualEventRegistration - 用于创建、获取、取消和列出网络研讨会注册者的注册记录。 为已注册的注册者提供唯一的 Teams 网络研讨会加入 URL。
- virtualEventRegistrationQuestion - 用于创建、列出和删除自定义注册问题或预定义注册问题,供注册者在注册网络研讨会时回答。
- virtualEventRegistrationConfiguration - 包含有关存储网络研讨会注册门户 URL 的网络研讨会注册配置的信息。
- virtualEventPresenter - 用于创建、获取、列出、更新和删除 Teams 网络研讨会的演示者。
- virtualEventSession - 通过 Microsoft Graph API 创建的网络研讨会只有一个继承联机会议属性的会话。
- meetingAttendanceReport - 每次网络研讨会结束后,都会为会议生成出席报告,但不包括与会者数据。
- attendanceRecord - 在出席报告中提供网络研讨会与会者数据。
- 虚拟事件 Webhook - 可以接收有关网络研讨会、网络研讨会注册、会话、出席报告等更改的通知。
可以构建的解决方案
下表列出了可以使用 Teams 客户端和 Microsoft Graph 网络研讨会 API 和 Webhook 构建的一些解决方案。
| 解决方案 | 说明 |
|---|---|
| 创建/更新/取消 | 以编程方式创建、更新和取消 Teams 网络研讨会。 |
| 数据同步 | 在自定义应用程序中拉取 Teams 网络研讨会数据 (,例如与会者、注册问题、出席报告等) 。 |
| 注册 | 为 Teams 网络研讨会托管自己的注册门户体验,并将注册数据同步到 Teams 客户端。 |
| Email通信 | 使用自己的电子邮件基础结构发送与网络研讨会相关的通知电子邮件。 |
注意
若要生成任何Microsoft Graph 解决方案,需要注册并为应用程序提供正确的权限。 有关详细信息,请参阅 身份验证和授权基础知识。
针对虚拟事件的特定于资源的许可 (RSC)
资源特定的同意 (RSC) 允许应用请求范围限定为特定网络研讨会或市政厅的权限,而无需全局管理员权限。 RSC 权限提高了安全性,简化了同意流,并使开发人员能够构建尊重组织边界的集成。
已启用 Microsoft Graph 虚拟事件 API 和 RSC 权限
| RSC 权限 | API | 说明 |
|---|---|---|
| VirtualEvent.Read.Chat | 网络研讨会 和 市政厅 | 阅读此网络研讨会或市政厅的信息,包括日程安排、演讲者、活动设置和网络研讨会注册。 |
| OnlineMeetingArtifact.Read.Chat | 出席报告 和 出席记录 | 阅读此网络研讨会或市政厅的出席报告和出席记录。 |
| VirtualEventRegistration-Anon.ReadWrite.Chat | 虚拟事件注册 | 注册与会者并取消此网络研讨会的注册。 |
传统身份验证流
如果 RSC 不是必需的或不可行,则可以使用以下传统 OAuth 流:
- 仅限应用的令牌流:将其用于后端服务或自动化方案,其中应用在没有用户上下文的情况下运行。
- 委托 (用户) 令牌流:在作需要用户上下文和同意时使用。
何时使用 RSC 与传统令牌流
| 应用场景 | 建议的方法 |
|---|---|
| 应用仅需要访问特定网络研讨会或市政厅 | RSC |
| 应用需要对多个事件的租户范围访问权限 | 仅限应用的令牌流 |
| 用户驱动作,如组织者管理事件 | 委托的令牌流 |
| 符合性或安全要求最低特权 | RSC |
RSC 权限入门
以下步骤介绍如何开始设置应用和使用 RSC 权限:
- 在应用清单中注册应用并定义 RSC 权限。
- 通过 Teams 开发人员门户或合作伙伴中心发布应用。
- 管理员在 Teams 管理中心中授予 RSC。
- 将 Microsoft Graph API 用于具有作用域权限的网络研讨会和市政厅。
创建/更新/取消
- 使用 创建网络研讨会 API 创建事件草稿,然后使用 发布网络研讨会 API 完成创建并使其对受众可见。
- 通过 Microsoft Graph API 创建的网络研讨会是在 Teams 客户端中可见且可编辑的 Teams 网络研讨会。
- 就像在 Teams 中一样,只有组织者才能创建、发布和取消网络研讨会活动。 创建网络研讨会 API 仅支持代表组织者委派的权限。
- 与在 Teams 中一样,协组织程序可以更新网络研讨会。 若要更新网络研讨会,请代表共同组织使用具有委派权限的 更新网络研讨会 API 。
- 订阅 更改通知 以获取有关对网络研讨会所做的任何更改的更新。
数据同步
- 订阅 更改通知 以获取有关对网络研讨会所做的任何更改的更新。
- 若要获取网络研讨会的出席报告数据,请使用 “列出出席记录” 或 “通过查询获取出席记录”。
- 获取 特定网络研讨会的数据, 列出租户中的所有网络研讨会,列出 用户是组织者或共同组织的网络研讨会,列出 指定用户是组织者或共同组织的网络研讨会。
- 若要获取网络研讨会的 Teams 网络研讨会注册门户 URL,请使用 获取网络研讨会注册配置。
注册
- 使用 “创建注册” 以编程方式将用户注册到网络研讨会。 组织者、共同组织和演示者不需要注册。 注册者是否拥有Microsoft Entra帐户会影响调用 API 所需的权限。
- CREATE 注册问题 (预定义或自定义) 与会者在注册过程中必须回答所需的问题。
- 注册者注册网络研讨会后,使用 列表会话 获取网络研讨会的唯
joinWebURL一。