Discourse Zoom

:discourse2: 概要 Discourse Zoomは、Discourseの管理者とユーザーに、Discourseプラットフォームから直接Zoomウェビナーのスケジュール設定、管理、参加を可能にする有料Zoomサブスクリプションを提供します。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-zoom
:open_book: インストールガイド Discourseでのプラグインのインストール方法

概要

このプラグインは、DiscourseインスタンスにZoomウェビナーを統合します。Zoomウェビナーはトピックに関連付けることができ、Discourseユーザーはウェビナーに登録し、開始時に参加することができます。

:warning: 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 id
  • zoom s2s client id
  • zoom 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ボタンを見つけます:

すべてが正常に機能した場合、A checkmark icon with "Validated" in greenが表示されます。

最後に、ページ下部の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アプリを作成する

:warning: Zoom側で変更があったため、ガイドを更新中です。


SDKミーティングアプリは、ユーザーがウェビナーミーティングに参加できるように認証を行います。


まず、General Appを作成し、Select how the app is managedUser-managedを選択します。

General AppのBasic Informationタブで、Client ID/ SDK keyzoom sdk keyフィールドに、Client Secret/SDK secretzoom sdk secretフィールドにコピーして貼り付けます。

下にスクロールすると、OAuth Informationセクションが見つかります。OAuth Redirect URLにサイトのURL(例:https://YOURSITE.com)を入力します。

ステップ8: アプリの使用を指定する

FeaturesタブでEmbedサブタブを選択し、Meeting SDKを有効にします。

制限事項

このプラグインは、Zoomでの登録が不要なウェビナーでのみ機能します。

破壊的変更に関する notice

Zoom APIの廃止により、古いインスタンスのプラグインは、この投稿で言及されている手順に従って設定する必要があります。

:discourse2: 私たちがホストしていますか?このプラグインは、Enterpriseプランで利用可能です。

「いいね!」 63