| Resumo | Discourse Zoom oferece aos administradores e usuários do Discourse, com uma assinatura paga do Zoom, a capacidade de agendar, gerenciar e participar de webinars do Zoom diretamente na 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 a uma instância do Discourse. Webinars do Zoom podem ser associados a tópicos, usuários do Discourse podem se registrar para webinars e participá-los quando eles começam.
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-para-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 clicar nele inicia o webinar usando o SDK do Zoom em um endpoint dedicado dentro da sua comunidade Discourse
- Lembretes automáticos para 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 é então 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ários 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 seu aplicativo OAuth Servidor-para-Servidor do Zoom. Uma vez que o plugin esteja configurado, 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 do tópico.
Instalação
Passo 1: Instale o plugin na sua instância do Discourse
Você pode instalar o plugin na sua instância do Discourse seguindo as instruções aqui.
Passo 2: Crie um aplicativo OAuth Servidor-para-Servidor no Zoom Marketplace
Para começar, você precisará criar um aplicativo OAuth Servidor-para-Servidor no Zoom Marketplace. Este aplicativo será necessário para fazer solicitações à API do Zoom e receber notificações de eventos via Webhooks.
Passo 3: Configure o plugin
Depois que o plugin estiver instalado, vá para as configurações do seu site Discourse e marque a caixa de seleção zoom enabled (zoom habilitado) e salve.
No Zoom Marketplace, vá para a aba Credenciais do Aplicativo:
Em seguida, copie e cole os valores nas configurações de site correspondentes na sua instância do Discourse:
zoom s2s account id(ID da conta S2S do Zoom)zoom s2s client id(ID do cliente S2S do Zoom)zoom s2s client secret(Segredo do cliente S2S do Zoom)
Passo 4: Defina o token secreto do webhook
Na aba Recursos do seu aplicativo OAuth Servidor-para-Servidor do Zoom, copie o “Token Secreto” e adicione-o à configuração de site zoom webhooks secret token (token secreto de webhooks do zoom) do seu site Discourse.
Passo 5: Ative as assinaturas de eventos
Enquanto ainda estiver na aba Recursos do seu aplicativo OAuth Servidor-para-Servidor do Zoom, ative “Assinaturas de Eventos” e selecione o botão Adicionar Assinatura de Evento:
Em seguida, defina a “URL do ponto de extremidade de notificação de evento” para:
https://SEUSITE.COM/zoom/webhooks/webinars.json
e então selecione o botão + 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 de evento Webinar, consulte como habilitar as permissões.
Sob a “URL do ponto de extremidade de notificação de evento” que você definiu anteriormente, encontre o botão Validar:
Ele deve mostrar
se tudo funcionou corretamente.
Finalmente, selecione o botão Salvar na parte inferior da página.
Passo 6: Escopos
Depois de definir as assinaturas de eventos, vá para a aba Escopos e clique no botão Adicionar Escopos. Aqui você selecionará os seguintes escopos 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 mostrados, facilitando a localização dos necessários.
No aplicativo OAuth Servidor-para-Servidor, na aba de escopos, clique no botão Adicionar Escopos e uma janela aparecerá:
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 procurá-los na aba correspondente:
Usuários
| escopo | 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
| escopo | 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
| escopo | 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 |
Passo 7: Crie um Aplicativo Meeting SDK
O Zoom alterou algumas coisas em seu lado, estamos trabalhando para atualizar o guia.
O aplicativo de reunião SDK autentica o usuário para que ele possa participar da reunião do webinar.
Comece criando um Aplicativo Geral e, sob Selecione como o aplicativo é gerenciado, selecione Gerenciado pelo Usuário.
Na aba Informações Básicas do seu Aplicativo Geral, copie e cole o Client ID/ SDK key (ID do Cliente/Chave do SDK) no campo zoom sdk key (chave do sdk do zoom) e o Client Secret/SDK secret (Segredo do Cliente/Segredo do SDK) no campo zoom sdk secret (segredo do sdk do zoom).
Rolar para baixo, você encontrará a seção Informações OAuth. No OAuth Redirect URL (URL de redirecionamento OAuth), coloque a URL do seu site, por exemplo, https://SEUSITE.com.
Passo 8: Especifique o uso do seu aplicativo
Na aba Recursos, selecione a sub-aba Embed (Embutir), ative o Meeting SDK (SDK de Reuniões).
Limitações
O plugin só funciona com webinars que não exigem registro no Zoom.
Aviso sobre Alterações que Quebram a Compatibilidade
Devido a descontinuações na API do Zoom, as 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.
















