| 概要 | Discourse Zoomは、Discourseの管理者とユーザーに、Discourseプラットフォームから直接Zoomウェビナーのスケジュール設定、管理、参加を可能にする有料Zoomサブスクリプションを提供します。 | |
| リポジトリリンク | https://github.com/discourse/discourse-zoom | |
| インストールガイド | Discourseでのプラグインのインストール方法 |
概要
このプラグインは、DiscourseインスタンスにZoomウェビナーを統合します。Zoomウェビナーはトピックに関連付けることができ、Discourseユーザーはウェビナーに登録し、開始時に参加することができます。
ZoomがJWT認証を廃止したため、2023年8月1日以降、プラグインの認証メカニズムはJWT(現在廃止予定、Zoomは9月1日に削除予定)からServer-to-Server OAuthに変更されました。既存のプラグインユーザーは設定を更新する必要があります。
機能
- Zoomウェビナーが開始されると、「登録」ボタンが自動的に「参加」に切り替わり、クリックするとDiscourseコミュニティ内の専用エンドポイントでZoom SDKを使用してウェビナーが起動します
- ウェビナー登録者に、イベントのN分前に自動的にリマインダーを送信します(Nはプラグイン設定で設定可能、デフォルトではリマインダーはオフ)
- 管理者はDiscourseでウェビナーにパネリストを追加できます
- 管理者はDiscourseにウェビナーのビデオ録画へのリンクを追加でき、イベント終了後にユーザーに表示されます
- ZoomイベントのホストとパネリストはDiscourseユーザーアカウントに関連付けられます
使用方法
Discourse Zoomプラグインを使用するには、まずDiscourseインスタンスにプラグインをインストールし、Zoom Server-to-Server OAuthアプリの資格情報で設定する必要があります。プラグインの設定が完了したら、新しいトピックを作成してウェビナーに関連付けることで、新しいZoomウェビナーを作成できます。その後、ユーザーはトピックから直接ウェビナーに登録できます。
インストール
ステップ1: Discourseインスタンスにプラグインをインストールする
こちらの手順に従って、Discourseインスタンスにプラグインをインストールできます。
ステップ2: Zoom MarketplaceでServer-to-Server OAuthアプリを作成する
始めるには、Zoom MarketplaceでServer-to-Server OAuthアプリを作成する必要があります。このアプリは、Zoom APIへのリクエスト送信とWebhooks経由でのイベント通知の受信に必要です。
ステップ3: プラグインを設定する
プラグインをインストールしたら、Discourseサイトの設定に移動し、zoom enabledチェックボックスをチェックして保存します。
Zoom MarketplaceからApp Credentialsタブに移動します:
次に、対応するDiscourseインスタンスのサイト設定に値をコピーして貼り付けます:
zoom s2s account idzoom s2s client idzoom s2s client secret
ステップ4: ウェブフックシークレットトークンを設定する
Zoom Server-to-Server OAuthアプリのFeatureタブで、「Secret Token」をコピーし、Discourseサイトのzoom webhooks secret tokenサイト設定に追加します。
ステップ5: イベントサブスクリプションを有効にする
Zoom Server-to-Server 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:を検索)を使用して、以下のスコープを選択します。これにより表示される要素が絞り込まれ、必要なものを見つけやすくなります。
Server to server 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での登録が不要なウェビナーでのみ機能します。
破壊的変更に関する notice
Zoom APIの廃止により、古いインスタンスのプラグインは、この投稿で言及されている手順に従って設定する必要があります。
私たちがホストしていますか?このプラグインは、Enterpriseプランで利用可能です。













