| 摘要 | Discourse Zoom 赋予拥有付费 Zoom 订阅的 Discourse 管理员和用户直接从 Discourse 平台安排、管理和参与 Zoom 网络研讨会的功能。 | |
| 仓库链接 | https://github.com/discourse/discourse-zoom | |
| 安装指南 | 如何在 Discourse 中安装插件 |
概述
此插件将 Zoom 网络研讨会集成到 Discourse 实例中。Zoom 网络研讨会可以与主题关联,Discourse 用户可以注册网络研讨会并在开始时加入。
由于 Zoom 弃用 JWT 认证,自 2023 年 8 月 1 日起,插件的认证机制已从 JWT(现已弃用,Zoom 将于 9 月 1 日移除)更改为服务器到服务器 OAuth。现有插件用户需要更新其设置。
功能
- 当 Zoom 网络研讨会开始时,“注册”按钮会自动切换为“加入”,点击它会在你的 Discourse 社区内的专用端点上使用 Zoom SDK 启动网络研讨会
- 自动提醒网络研讨会注册者在活动开始前 N 分钟(N 可在插件设置中配置,默认情况下提醒功能关闭)
- 管理员可以在 Discourse 中向网络研讨会添加嘉宾
- 管理员可以在 Discourse 中添加网络研讨会视频录像的链接,该链接将在活动结束后显示给用户
- Zoom 活动主持人和嘉宾与 Discourse 用户账户关联
用法
要使用 Discourse Zoom 插件,首先需要在你的 Discourse 实例中安装它,并使用你的 Zoom 服务器到服务器 OAuth 应用凭据进行配置。一旦插件设置完成,你可以通过创建新主题并将其与网络研讨会关联来创建新的 Zoom 网络研讨会。然后用户可以直接从主题注册网络研讨会。
安装
步骤 1:在 Discourse 实例中安装插件
你可以按照这里的说明将插件安装到你的 Discourse 实例中。
步骤 2:在 Zoom 市场中创建服务器到服务器 OAuth 应用
要开始使用,你需要在 Zoom 市场中创建一个服务器到服务器 OAuth 应用。此应用将用于向 Zoom API 发出请求并通过 Webhooks 接收事件通知
步骤 3:配置插件
安装插件后,转到你的 Discourse 站点设置,勾选 zoom enabled 复选框并保存。
从 Zoom 市场转到 App Credentials 选项卡:
然后将值复制并粘贴到你 Discourse 实例中对应的站点设置:
zoom s2s account idzoom s2s client idzoom s2s client secret
步骤 4:设置 webhook 秘密令牌
在你的 Zoom 服务器到服务器 OAuth 应用的 Feature 选项卡上,复制“Secret Token”并将其添加到你的 Discourse 站点的 zoom webhooks secret token 站点设置中。
步骤 5:启用事件订阅
仍在你的 Zoom 服务器到服务器 OAuth 应用的 Feature 选项卡上,启用“Event Subscriptions”并选择 Add Event Subscription 按钮:
接下来,将“Event notification endpoint URL”设置为:
https://YOURSITE.COM/zoom/webhooks/webinars.json
然后选择 + Add Events 按钮:
从事件类型列表中打开 Webinar 选项卡,并选中列出的所有事件。如果你看不到 Webinar 事件权限,请查看如何启用权限。
在你之前设置的“Event notification endpoint URL”下,找到 Validate 按钮:
如果一切正常,它应显示
。
最后选择页面底部的 Save 按钮
步骤 6:作用域
一旦你设置了事件订阅,请转到 Scopes 选项卡,并点击 Add Scopes 按钮。在这里,你可以通过搜索表中给出的值、手动或使用部分值来选择以下作用域,例如,与其搜索 webinar:read:list_panelists:admin,不如搜索 webinar:read:,这将缩小显示的元素范围,使其更容易找到所需的项目。
在服务器到服务器 OAuth 应用的作用域选项卡下,点击 Add Scopes 按钮,将出现一个窗口:
在搜索作用域中,按全称或部分名称搜索,为了方便起见,你可以将每个作用域复制粘贴到以下表中,或在相应的选项卡下搜索它们:
用户
| scope | desc |
|---|---|
| user:read:user:admin | 查看用户 |
| user:read:email:admin | 验证用户邮箱 |
| user:read:list_users:admin | 查看用户列表 |
网络研讨会
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | 查看网络研讨会嘉宾 |
| webinar:read:list_absentees:admin | 查看过去网络研讨会的缺席者 |
| webinar:read:webinar:admin | 查看网络研讨会 |
| webinar:read:registrant:admin | 查看网络研讨会注册者 |
| webinar:read:list_registrants:admin | 查看网络研讨会注册者列表 |
| webinar:write:batch_registrants:admin | 向网络研讨会添加注册者 |
| webinar:delete:webinar:admin | 删除网络研讨会 |
| webinar:write:panelist | 向网络研讨会添加嘉宾 |
| webinar:delete:registrant | 移除网络研讨会注册者 |
| webinar:write:webinar | 为用户创建网络研讨会 |
| webinar:update:status | 更新网络研讨会状态 |
| webinar:delete:panelist | 移除网络研讨会嘉宾 |
| webinar:update:webinar | 更新网络研讨会 |
| webinar:write:registrant | 向网络研讨会添加注册者 |
网络研讨会
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | 查看网络研讨会嘉宾 |
| webinar:read:list_absentees:admin | 查看过去网络研讨会的缺席者 |
| webinar:read:webinar:admin | 查看网络研讨会 |
| webinar:read:registrant:admin | 查看网络研讨会注册者 |
| webinar:read:list_registrants:admin | 查看网络研讨会注册者列表 |
| webinar:write:batch_registrants:admin | 向网络研讨会添加注册者 |
| webinar:delete:webinar:admin | 删除网络研讨会 |
| webinar:write:panelist | 向网络研讨会添加嘉宾 |
| webinar:delete:registrant | 移除网络研讨会注册者 |
| webinar:write:webinar | 为用户创建网络研讨会 |
| webinar:update:status | 更新网络研讨会状态 |
| webinar:delete:panelist | 移除网络研讨会嘉宾 |
| webinar:update:webinar | 更新网络研讨会 |
| webinar:write:registrant | 向网络研讨会添加注册者 |
步骤 7:创建会议 SDK 应用
Zoom 在其方面进行了更改,我们正在努力更新指南。
SDK 会议应用对用户进行身份验证,以便用户可以加入网络研讨会会议
首先创建一个 General App,并在 Select how the app is managed 下选择 User-managed。
在 General App 的 Basic Information 选项卡下,将 Client ID/ SDK key 复制并粘贴到 zoom sdk key 字段中,将 Client Secret/SDK secret 粘贴到 zoom sdk secret 字段中。
向下滚动,你将找到 OAuth Information 部分,在 OAuth Redirect URL 中放置你站点的 URL,例如 https://YOURSITE.com。
步骤 8:指定应用使用
在 Features 选项卡下选择 Embed 子选项卡,启用 Meeting SDK
限制
该插件仅适用于不需要在 Zoom 中注册的网络研讨会。
关于破坏性更改的通知
由于 Zoom API 的弃用,旧版本的插件需要按照本文档中提到的步骤进行配置。
由我们托管?此插件在我们的企业计划中可用。
















