| Zusammenfassung | Discourse Zoom ermöglicht es Discourse-Administratoren und -Nutzern mit einem kostenpflichtigen Zoom-Abonnement, Zoom-Webinare direkt aus ihrer Discourse-Plattform heraus zu planen, zu verwalten und daran teilzunehmen. | |
| Repository-Link | https://github.com/discourse/discourse-zoom | |
| Installationsanleitung | So installieren Sie Plugins in Discourse |
Überblick
Dieses Plugin integriert Zoom-Webinare in eine Discourse-Instanz. Zoom-Webinare können mit Themen verknüpft werden, Discourse-Nutzer können sich für Webinare registrieren und daran teilnehmen, sobald sie beginnen.
Aufgrund der Abschaffung der JWT-Authentifizierung durch Zoom hat sich der Authentifizierungsmechanismus des Plugins ab dem 1. August 2023 von JWT (jetzt veraltet, Zoom wird es am 1. September entfernen) auf Server-to-Server OAuth geändert. Bestehende Nutzer des Plugins müssen ihre Einstellungen aktualisieren.
Funktionen
- Wenn ein Zoom-Webinar startet, wechselt die Schaltfläche „Registrieren“ automatisch zu „Beitreten“, und ein Klick darauf startet das Webinar mit dem Zoom SDK auf einem dedizierten Endpunkt innerhalb Ihrer Discourse-Community
- Automatische Erinnerung an Webinar-Registrierte N Minuten vor dem Ereignis (N ist in den Plugin-Einstellungen konfigurierbar, standardmäßig sind Erinnerungen deaktiviert)
- Administratoren können Panelisten zu einem Webinar in Discourse hinzufügen
- Administratoren können einen Link zu Videoaufzeichnungen des Webinars in Discourse hinzufügen, der den Nutzern nach Ende des Ereignisses angezeigt wird
- Zoom-Event-Hosts und Panelisten werden Discourse-Nutzerkonten zugeordnet
Verwendung
Um das Discourse Zoom-Plugin zu verwenden, müssen Sie es zunächst in Ihrer Discourse-Instanz installieren und mit Ihren Zoom Server-to-Server OAuth-App-Anmeldedaten konfigurieren. Sobald das Plugin eingerichtet ist, können Sie ein neues Zoom-Webinar erstellen, indem Sie ein neues Thema erstellen und es mit dem Webinar verknüpfen. Nutzer können sich dann direkt über das Thema für das Webinar registrieren.
Installation
Schritt 1: Installieren Sie das Plugin in Ihrer Discourse-Instanz
Sie können das Plugin in Ihre Discourse-Instanz installieren, indem Sie die Anweisungen hier befolgen.
Schritt 2: Erstellen Sie eine Server-to-Server OAuth-App im Zoom Marketplace
Um zu beginnen, müssen Sie eine Server-to-Server OAuth-App im Zoom Marketplace erstellen. Diese App wird benötigt, um Anfragen an die Zoom-API zu stellen und Ereignisbenachrichtigungen über Webhooks zu empfangen.
Schritt 3: Konfigurieren Sie das Plugin
Sobald das Plugin installiert ist, gehen Sie zu Ihren Discourse-Site-Einstellungen und aktivieren Sie das Kontrollkästchen zoom enabled (Zoom aktiviert) und speichern Sie.
Gehen Sie im Zoom Marketplace zum Tab App Credentials (App-Anmeldedaten):
Kopieren Sie dann die Werte und fügen Sie sie in die entsprechenden Site-Einstellungen in Ihrer Discourse-Instanz ein:
zoom s2s account idzoom s2s client idzoom s2s client secret
Schritt 4: Legen Sie das Webhook-Geheimnis-Token fest
Kopieren Sie auf dem Tab Feature (Funktionen) Ihrer Zoom Server-to-Server OAuth-App das „Secret Token“ (Geheimnis-Token) und fügen Sie es in die Site-Einstellung zoom webhooks secret token (Geheimnis-Token für Zoom-Webhooks) Ihrer Discourse-Site ein.
Schritt 5: Ereignisabonnements aktivieren
Bleiben Sie auf dem Tab Feature (Funktionen) Ihrer Zoom Server-to-Server OAuth-App, aktivieren Sie „Event Subscriptions“ (Ereignisabonnements) und klicken Sie auf die Schaltfläche Add Event Subscription (Ereignisabonnement hinzufügen):
Legen Sie als Nächstes die „Event notification endpoint URL“ (URL des Ereignisbenachrichtigungs-Endpunkts) fest auf:
https://YOURSITE.COM/zoom/webhooks/webinars.json
und klicken Sie dann auf die Schaltfläche + Add Events (+ Ereignisse hinzufügen):
Öffnen Sie den Tab Webinar aus der Liste der Ereignistypen und aktivieren Sie alle aufgeführten Ereignisse. Wenn Sie die Berechtigungen für das Webinar-Ereignis nicht sehen können, lesen Sie wie Sie die Berechtigungen aktivieren.
Finden Sie unter der zuvor festgelegten „Event notification endpoint URL“ die Schaltfläche Validate (Validieren):
Es sollte
angezeigt werden, wenn alles funktioniert hat.
Wählen Sie abschließend die Schaltfläche Save (Speichern) unten auf der Seite aus.
Schritt 6: Berechtigungen (Scopes)
Sobald Sie die Ereignisabonnements festgelegt haben, wechseln Sie zum Tab Scopes (Berechtigungen) und klicken Sie auf die Schaltfläche Add Scopes (Berechtigungen hinzufügen). Hier wählen Sie die folgenden Berechtigungen aus, entweder durch Suche nach den in den Tabellen angegebenen Werten, manuell oder unter Verwendung von Teilwerten. Beispielsweise suchen Sie statt nach webinar:read:list_panelists:admin nach webinar:read:. Dies verengt die angezeigten Elemente ein, sodass es einfacher ist, die erforderlichen zu finden.
Klicken Sie in der Server-to-Server OAuth-App unter dem Tab Berechtigungen auf die Schaltfläche Add Scopes (Berechtigungen hinzufügen), und es wird ein Fenster angezeigt:
Suchen Sie im Suchfeld für Berechtigungen nach dem vollständigen oder teilweisen Namen. Um dies zu erleichtern, können Sie jede der Berechtigungen in die folgenden Tabellen kopieren und einfügen oder sie unter dem entsprechenden Tab suchen:
Nutzer
| scope | desc |
|---|---|
| user:read:user:admin | Einen Nutzer anzeigen |
| user:read:email:admin | Die E-Mail-Adresse eines Nutzers verifizieren |
| user:read:list_users:admin | Nutzer anzeigen |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Die Panelisten eines Webinars anzeigen |
| webinar:read:list_absentees:admin | Die Abwesenden eines vergangenen Webinars anzeigen |
| webinar:read:webinar:admin | Ein Webinar anzeigen |
| webinar:read:registrant:admin | Die registrierten Nutzer eines Webinars anzeigen |
| webinar:read:list_registrants:admin | Die registrierten Nutzer eines Webinars anzeigen |
| webinar:write:batch_registrants:admin | Registrierte Nutzer zu einem Webinar hinzufügen |
| webinar:delete:webinar:admin | Ein Webinar löschen |
| webinar:write:panelist | Panelisten zu einem Webinar hinzufügen |
| webinar:delete:registrant | Einen registrierten Nutzer eines Webinars entfernen |
| webinar:write:webinar | Ein Webinar für einen Nutzer erstellen |
| webinar:update:status | Den Status eines Webinars aktualisieren |
| webinar:delete:panelist | Einen Panelisten eines Webinars entfernen |
| webinar:update:webinar | Ein Webinar aktualisieren |
| webinar:write:registrant | Einen registrierten Nutzer zu einem Webinar hinzufügen |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Die Panelisten eines Webinars anzeigen |
| webinar:read:list_absentees:admin | Die Abwesenden eines vergangenen Webinars anzeigen |
| webinar:read:webinar:admin | Ein Webinar anzeigen |
| webinar:read:registrant:admin | Die registrierten Nutzer eines Webinars anzeigen |
| webinar:read:list_registrants:admin | Die registrierten Nutzer eines Webinars anzeigen |
| webinar:write:batch_registrants:admin | Registrierte Nutzer zu einem Webinar hinzufügen |
| webinar:delete:webinar:admin | Ein Webinar löschen |
| webinar:write:panelist | Panelisten zu einem Webinar hinzufügen |
| webinar:delete:registrant | Einen registrierten Nutzer eines Webinars entfernen |
| webinar:write:webinar | Ein Webinar für einen Nutzer erstellen |
| webinar:update:status | Den Status eines Webinars aktualisieren |
| webinar:delete:panelist | Einen Panelisten eines Webinars entfernen |
| webinar:update:webinar | Ein Webinar aktualisieren |
| webinar:write:registrant | Einen registrierten Nutzer zu einem Webinar hinzufügen |
Schritt 7: Erstellen Sie eine Meeting SDK App
Zoom hat auf ihrer Seite Änderungen vorgenommen. Wir arbeiten daran, die Anleitung zu aktualisieren.
Die SDK-Meeting-App authentifiziert den Nutzer, damit dieser dem Webinar-Meeting beitreten kann.
Beginnen Sie damit, eine General App (Allgemeine App) zu erstellen, und wählen Sie unter Select how the app is managed (Auswählen, wie die App verwaltet wird) User-managed (Vom Nutzer verwaltet) aus.
Kopieren Sie auf dem Tab „Basic Information“ (Grundlegende Informationen) Ihrer Allgemeinen App den Client ID/ SDK key (Client-ID/SDK-Schlüssel) und fügen Sie ihn in das Feld zoom sdk key ein, und den Client Secret/SDK secret (Client-Geheimnis/SDK-Geheimnis) in das Feld zoom sdk secret.
Scrollen Sie nach unten, und Sie finden den Abschnitt OAuth Information (OAuth-Informationen). Geben Sie in OAuth Redirect URL (OAuth-Weiterleitungs-URL) die URL Ihrer Site ein, z. B. https://YOURSITE.com.
Schritt 8: Legen Sie die Verwendung Ihrer App fest
Wählen Sie unter dem Tab Features (Funktionen) den Unter-Tab Embed (Einbetten) aus und aktivieren Sie den Meeting SDK.
Einschränkungen
Das Plugin funktioniert nur mit Webinaren, für die in Zoom keine Registrierung erforderlich ist.
Hinweis zu Breaking Changes
Aufgrund von Abschaffungen in der Zoom-API müssen alte Instanzen des Plugins gemäß den in diesem Beitrag genannten Schritten konfiguriert werden.
Von uns gehostet? Dieses Plugin ist in unseren Enterprise-Plänen verfügbar.
















