Zoom Discourse

:discourse2: 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.
:hammer_and_wrench: Link do Repositório https://github.com/discourse/discourse-zoom
:open_book: 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.

:warning: 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 Um ícone de marca de verificação com "Validated" em verde 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

:warning: 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.

:discourse2: Hospedado por nós? Este plugin está disponível em nossos planos Enterprise.

63 curtidas