| Resumo | Discourse Zoom capacita administradores e usuários do Discourse com uma assinatura paga do Zoom para agendar, gerenciar e participar de webinars do Zoom diretamente de sua plataforma Discourse. | |
| Link do Repositório | https://github.com/discourse/discourse-zoom | |
| Guia de Instalação | Como instalar plugins no Discourse |
Visão Geral
Este plugin integra webinars do Zoom em uma instância do Discourse. Webinars do Zoom podem ser associados a tópicos, usuários do Discourse podem se registrar para webinars e participar deles quando começarem.
Devido à descontinuação da autenticação JWT pelo Zoom, a partir de 1º de agosto de 2023, o mecanismo de autenticação do plugin mudou de JWT (agora descontinuado, o Zoom removerá em 1º de setembro) para OAuth Servidor a Servidor. Usuários existentes do plugin precisam atualizar suas configurações.
Funcionalidades
- Quando um webinar do Zoom começa, o botão “Registrar” muda automaticamente para “Participar”, e ao clicar nele, o webinar é iniciado usando o SDK do Zoom em um endpoint dedicado dentro da sua comunidade Discourse
- Lembra automaticamente os participantes do webinar N minutos antes do evento (N é configurável nas configurações do plugin; por padrão, os lembretes estão desativados)
- Administradores podem adicionar painelistas a um webinar no Discourse
- Administradores podem adicionar um link para gravações em vídeo do webinar no Discourse, que será exibido aos usuários após o término do evento
- Anfitriões e painelistas de eventos do Zoom são associados a contas de usuário do Discourse
Uso
Para usar o plugin Discourse Zoom, você primeiro precisa instalá-lo em sua instância do Discourse e configurá-lo com as credenciais do aplicativo OAuth Servidor a Servidor do Zoom. Uma vez configurado o plugin, você pode criar um novo webinar do Zoom criando um novo tópico e associando-o ao webinar. Os usuários podem então se registrar para o webinar diretamente a partir do tópico.
Instalação
Etapa 1: Instale o plugin em sua instância do Discourse
Você pode instalar o plugin em sua instância do Discourse seguindo as instruções aqui.
Etapa 2: Crie um aplicativo OAuth Servidor a Servidor no Zoom Marketplace
Para começar, você precisará criar um aplicativo OAuth Servidor a Servidor no Zoom Marketplace. Este aplicativo será necessário para fazer solicitações à API do Zoom e receber notificações de eventos via Webhooks
Etapa 3: Configure o plugin
Uma vez instalado o plugin, vá para as configurações do seu site no Discourse e marque a caixa de seleção zoom enabled (zoom habilitado) e salve.
No Zoom Marketplace, vá para a aba App Credentials (Credenciais do Aplicativo):
Em seguida, copie e cole os valores nas configurações do site correspondentes em sua instância do Discourse:
zoom s2s account id(ID da conta zoom s2s)zoom s2s client id(ID do cliente zoom s2s)zoom s2s client secret(Segredo do cliente zoom s2s)
Etapa 4: Defina o token secreto do webhook
Na aba Feature (Funcionalidade) do seu aplicativo OAuth Servidor a Servidor do Zoom, copie o “Secret Token” (Token Secreto) e adicione-o à configuração do site zoom webhooks secret token (token secreto dos webhooks zoom) do seu site no Discourse.
Etapa 5: Habilite assinaturas de eventos
Enquanto ainda estiver na aba Feature (Funcionalidade) do seu aplicativo OAuth Servidor a Servidor do Zoom, habilite “Event Subscriptions” (Assinaturas de Eventos) e clique no botão Add Event Subscription (Adicionar Assinatura de Evento):
Em seguida, defina a “Event notification endpoint URL” (URL do ponto final de notificação de evento) para:
https://YOURSITE.COM/zoom/webhooks/webinars.json
então selecione o botão + Add Events (+ Adicionar Eventos):
Abra a aba Webinar na lista de tipos de evento e marque todos os eventos listados. Se você não conseguir ver as permissões do evento Webinar, verifique como habilitar as permissões.
Sob a “Event notification endpoint URL” que você configurou anteriormente, encontre o botão Validate (Validar):
Deve aparecer
se tudo funcionou corretamente.
Finalmente, selecione o botão Save (Salvar) na parte inferior da página
Etapa 6: Escopos
Depois de configurar as assinaturas de eventos, vá para a aba Scopes (Escopos) e clique no botão Add Scopes (Adicionar Escopos). Aqui, você selecionará os seguintes escopos, seja pesquisando pelos valores fornecidos nas tabelas, manualmente ou usando valores parciais; por exemplo, em vez de pesquisar por webinar:read:list_panelists:admin, pesquise por webinar:read:. Isso reduzirá os elementos exibidos, facilitando a localização dos necessários.
No aplicativo OAuth Servidor a Servidor, na aba de escopos, clique no botão Add Scopes (Adicionar Escopos) e uma janela será exibida:
Na pesquisa de escopo, pesquise pelo nome completo ou parcial. Para facilitar isso, você pode copiar e colar cada um dos escopos nas tabelas a seguir ou pesquisá-los na aba correspondente:
Usuários
| scope | desc |
|---|---|
| user:read:user:admin | Visualizar um usuário |
| user:read:email:admin | Verificar o e-mail de um usuário |
| user:read:list_users:admin | Visualizar usuários |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Visualizar os painelistas de um webinar |
| webinar:read:list_absentees:admin | Visualizar os ausentes de um webinar passado |
| webinar:read:webinar:admin | Visualizar um webinar |
| webinar:read:registrant:admin | Visualizar um participante de um webinar |
| webinar:read:list_registrants:admin | Visualizar os participantes de um webinar |
| webinar:write:batch_registrants:admin | Adicionar participantes a um webinar |
| webinar:delete:webinar:admin | Excluir um webinar |
| webinar:write:panelist | Adicionar painelistas a um webinar |
| webinar:delete:registrant | Remover um participante de um webinar |
| webinar:write:webinar | Criar um webinar para um usuário |
| webinar:update:status | Atualizar o status de um webinar |
| webinar:delete:panelist | Remover um painelista de um webinar |
| webinar:update:webinar | Atualizar um webinar |
| webinar:write:registrant | Adicionar um participante a um webinar |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Visualizar os painelistas de um webinar |
| webinar:read:list_absentees:admin | Visualizar os ausentes de um webinar passado |
| webinar:read:webinar:admin | Visualizar um webinar |
| webinar:read:registrant:admin | Visualizar um participante de um webinar |
| webinar:read:list_registrants:admin | Visualizar os participantes de um webinar |
| webinar:write:batch_registrants:admin | Adicionar participantes a um webinar |
| webinar:delete:webinar:admin | Excluir um webinar |
| webinar:write:panelist | Adicionar painelistas a um webinar |
| webinar:delete:registrant | Remover um participante de um webinar |
| webinar:write:webinar | Criar um webinar para um usuário |
| webinar:update:status | Atualizar o status de um webinar |
| webinar:delete:panelist | Remover um painelista de um webinar |
| webinar:update:webinar | Atualizar um webinar |
| webinar:write:registrant | Adicionar um participante a um webinar |
Etapa 7: Crie um aplicativo Meeting SDK
O Zoom mudou algumas coisas do lado deles; estamos trabalhando para atualizar o guia.
O aplicativo de reunião do SDK autentica o usuário para que ele possa participar da reunião do webinar
Comece criando um General App (Aplicativo Geral) e, em Select how the app is managed (Selecione como o aplicativo é gerenciado), escolha User-managed (Gerenciado pelo usuário).
Na aba Basic Information (Informações Básicas) do seu Aplicativo Geral, copie e cole o Client ID/ SDK key (ID do Cliente/Chave SDK) no campo zoom sdk key (chave sdk zoom) e o Client Secret/SDK secret (Segredo do Cliente/Segredo SDK) no campo zoom sdk secret (segredo sdk zoom).
Rolando para baixo, você encontrará a seção OAuth Information (Informações OAuth); no campo OAuth Redirect URL (URL de Redirecionamento OAuth), coloque a URL do seu site, por exemplo, https://YOURSITE.com.
Etapa 8: Especifique o uso do seu aplicativo
Na aba Features (Funcionalidades), selecione a subaba Embed (Incorporar) e habilite o Meeting SDK.
Limitações
O plugin funciona apenas com webinars que não exigem registro no Zoom.
Aviso sobre Alterações Quebras
Devido às descontinuações na API do Zoom, instâncias antigas do plugin precisarão ser configuradas seguindo as etapas mencionadas neste post.
Hospedado por nós? Este plugin está disponível em nossos planos Enterprise.
















