| Краткое описание | Discourse Zoom предоставляет администраторам и пользователям Discourse с платной подпиской Zoom возможность планировать, управлять и участвовать в вебинарах Zoom непосредственно из платформы Discourse. | |
| Ссылка на репозиторий | https://github.com/discourse/discourse-zoom | |
| Руководство по установке | Как установить плагины в Discourse |
Обзор
Этот плагин интегрирует вебинары Zoom в экземпляр Discourse. Вебинары Zoom могут быть связаны с темами, пользователи Discourse могут регистрироваться на вебинары и присоединяться к ним, когда они начинаются.
В связи с тем, что Zoom прекращает поддержку аутентификации JWT, начиная с 1 августа 2023 года механизм аутентификации плагина изменился с JWT (теперь устаревшего, Zoom удалит его 1 сентября) на Server-to-Server OAuth. Существующим пользователям плагина необходимо обновить свои настройки.
Возможности
- Когда начинается вебинар Zoom, кнопка «Регистрация» автоматически переключается на «Присоединиться», и при нажатии на неё вебинар запускается с использованием Zoom SDK на выделенной конечной точке внутри вашего сообщества Discourse
- Автоматически напоминает зарегистрированным участникам вебинара за N минут до начала события (N настраивается в параметрах плагина, по умолчанию напоминания отключены)
- Администраторы могут добавлять панелей к вебинару в Discourse
- Администраторы могут добавить ссылку на видеозаписи вебинара в Discourse, которая затем отображается пользователям после завершения события
- Ведущие и панелей вебинаров Zoom связаны с учетными записями пользователей Discourse
Использование
Чтобы использовать плагин Discourse Zoom, сначала необходимо установить его в вашем экземпляре Discourse и настроить с учетными данными вашего приложения Zoom Server-to-Server OAuth. После настройки плагина вы можете создать новый вебинар Zoom, создав новую тему и связав её с вебинаром. Затем пользователи могут зарегистрироваться на вебинар непосредственно из темы.
Установка
Шаг 1: Установка плагина в ваш экземпляр Discourse
Вы можете установить плагин в ваш экземпляр Discourse, следуя инструкциям здесь.
Шаг 2: Создание приложения Server-to-Server OAuth в Zoom Marketplace
Чтобы начать, вам нужно создать приложение Server-to-Server OAuth в Zoom Marketplace. Это приложение потребуется для отправки запросов к API Zoom и получения уведомлений о событиях через Webhooks.
Шаг 3: Настройка плагина
После установки плагина перейдите к настройкам вашего сайта Discourse и установите флажок zoom enabled, затем сохраните.
В Zoom Marketplace перейдите на вкладку App Credentials:
Затем скопируйте и вставьте значения в соответствующие настройки сайта в вашем экземпляре Discourse:
zoom s2s account idzoom s2s client idzoom s2s client secret
Шаг 4: Установите секретный токен webhook
На вкладке Feature вашего приложения Zoom Server-to-Server OAuth скопируйте «Secret Token» и добавьте его в настройку сайта zoom webhooks secret token вашего сайта Discourse.
Шаг 5: Включите подписки на события
Оставаясь на вкладке Feature вашего приложения Zoom Server-to-Server OAuth, включите «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
После того как вы настроили подписки на события, перейдите на вкладку Scopes и нажмите кнопку Add Scopes. Здесь вы выберете следующие области действия, либо выполнив поиск по указанным в таблицах значениям, либо вручную, либо используя частичные значения, например, вместо поиска webinar:read:list_panelists:admin ищите webinar:read:. Это сузит отображаемые элементы, чтобы было легче найти нужные.
В приложении Server to server OAuth на вкладке scopes нажмите кнопку Add Scopes, и появится окно:
В поле поиска scopes ищите по полному или частичному имени. Для удобства вы можете скопировать и вставить каждое из следующих scopes в соответствующие таблицы или найти их на соответствующих вкладках:
Users
| scope | desc |
|---|---|
| user:read:user:admin | View a user |
| user:read:email:admin | Verify a user’s email |
| user:read:list_users:admin | View users |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | View a webinar’s panelists |
| webinar:read:list_absentees:admin | View a past webinar’s absentees |
| webinar:read:webinar:admin | View a webinar |
| webinar:read:registrant:admin | View a webinar’s registrant |
| webinar:read:list_registrants:admin | View a webinar’s registrants |
| webinar:write:batch_registrants:admin | Add registrants to a webinar |
| webinar:delete:webinar:admin | Delete a webinar |
| webinar:write:panelist | Add panelists to a webinar |
| webinar:delete:registrant | Remove a webinar’s registrant |
| webinar:write:webinar | Create a webinar for a user |
| webinar:update:status | Update a webinar’s status |
| webinar:delete:panelist | Remove a webinar’s panelist |
| webinar:update:webinar | Update a webinar |
| webinar:write:registrant | Add a registrant to a webinar |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | View a webinar’s panelists |
| webinar:read:list_absentees:admin | View a past webinar’s absentees |
| webinar:read:webinar:admin | View a webinar |
| webinar:read:registrant:admin | View a webinar’s registrant |
| webinar:read:list_registrants:admin | View a webinar’s registrants |
| webinar:write:batch_registrants:admin | Add registrants to a webinar |
| webinar:delete:webinar:admin | Delete a webinar |
| webinar:write:panelist | Add panelists to a webinar |
| webinar:delete:registrant | Remove a webinar’s registrant |
| webinar:write:webinar | Create a webinar for a user |
| webinar:update:status | Update a webinar’s status |
| webinar:delete:panelist | Remove a webinar’s panelist |
| webinar:update:webinar | Update a webinar |
| webinar:write:registrant | Add a registrant to a webinar |
Шаг 7: Создание приложения Meeting SDK
Zoom изменил некоторые вещи на своей стороне, мы работаем над обновлением руководства.
Приложение SDK для встреч аутентифицирует пользователя, чтобы он мог присоединиться к вебинару
Начните с создания General App, и в разделе Select how the app is managed выберите User-managed.
На вкладке Basic Information вашего General App скопируйте и вставьте 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.
Уведомление о критических изменениях
Из-за устаревания в API Zoom старые экземпляры плагина необходимо будет настроить в соответствии с шагами, указанными в этом сообщении.
Размещено нами? Этот плагин доступен в наших планах Enterprise.
















