Saiba como criar um link de reunião Zoom seguro usando Python para comunicação de servidor para servidor com autenticação OAuth.

Se você integrou as reuniões do Zoom ao seu aplicativo Python ou apenas planeja fazê-lo, o Zoom diz que está descontinuando os aplicativos JWT em 1º de setembro de 2023. Você terá que mudar para a opção OAuth ou OAuth de servidor para servidor para evitar o tempo de inatividade do serviço.

A opção OAuth exige que seus usuários autentiquem seu site por meio de sua conta Zoom. Mas se você estiver apenas gerando links de reunião do Zoom sem necessariamente solicitar a permissão dos usuários, a opção OAuth de servidor para servidor é a escolha ideal.

Então, como você pode conseguir isso com o Python?

Crie um aplicativo OAuth de servidor para servidor Zoom

Para começar, dirija-se ao Zoom Marketplace para criar um novo aplicativo:

  1. Percorra a lista de aplicativos e localize o OAuth de servidor para servidor bandeira. Em seguida, clique no Criar botão.
  2. Insira um nome para seu aplicativo no campo fornecido. Então clique Criar; isso redireciona você para outra página.
  3. Copie todas as credenciais do aplicativo, incluindo seu ID da conta, ID do Cliente, e Segredo do cliente. Clique Continuar Uma vez feito. Você pode querer colá-los em seu arquivo de variável de ambiente para mascará-los.
  4. No menu a seguir, preencha o Informação básica campos com as informações apropriadas e clique no botão Continuar botão.
  5. Clique Continuar na página seguinte.
  6. Em seguida, clique Adicionar escopos e adicione os seguintes escopos; Obtenha o URI SIP codificado de uma reunião e Visualize e gerencie todas as reuniões de usuários.
  7. Clique Continuar. Finalmente, clique Ative seu aplicativo para começar a interagir com a API do Zoom por meio do aplicativo OAuth de servidor para servidor.

Depois de concluir as etapas anteriores, você pode gerar links de reunião em qualquer lugar usando a API do Zoom. Abaixo está o código completo para fazer isso.

importar solicitações de

# substitua pelo seu ID de cliente
client_id = ""

# substitua pelo ID da sua conta
id_conta = ""

# substitua pelo segredo do cliente
cliente_secret = ""

auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"

# crie a função de link Zoom
defcriar_reunião(tópico, duração, start_date, start_time):
dados = {
"grant_type": "credenciais da conta",
"id_conta": id_da_conta,
"client_secret": client_secret
}
resposta = request.post (auth_token_url,
auth=(client_id, client_secret),
dados=dados)

se response.status_code!=200:
imprimir("Não foi possível obter o token de acesso")
response_data = response.json()
access_token = response_data["access_token"]

cabeçalhos = {
"Autorização": f"Portador {access_token}",
"Tipo de conteúdo": "aplicativo/json"
}
carga útil = {
"tema": tema,
"duração": duração,
'hora_início': f'{data de início}T10:{hora_início}',
"tipo": 2
}

resp = pedidos.post(f"{api_base_url}/users/me/meetings",
headers=cabeçalhos,
json=carga útil)

se resp.status_code!=201:
imprimir("Não foi possível gerar o link da reunião")
response_data = resp.json()

conteúdo = {
"reunião_url": resposta_dados["join_url"],
"senha": resposta_dados["senha"],
"hora do encontro": resposta_dados["hora_início"],
"propósito": resposta_dados["tema"],
"duração": resposta_dados["duração"],
"mensagem": "Sucesso",
"status":1
}
imprimir (conteúdo)

O código primeiro envia uma solicitação ao URL do token do Zoom para obter um token de autorização. Passando isso por meio dos cabeçalhos para a API do Zoom, ele retorna uma resposta contendo os detalhes da reunião especificados na carga útil. A reunião hora_início enviados com a carga útil devem estar no formato ISO 8601. Nós formatamos isso usando a operação de string do Python.

Por exemplo, você pode chamar a função para agendar uma reunião para 23 de agosto de 2023, às 18h24, da seguinte maneira:

criar_reunião(
"Testar reunião de zoom",
"60",
"2023-08-23",
"18:24",
)

A API retorna um JSON contendo muitas informações, incluindo o link da reunião, senha e ID, entre muitos outros detalhes. você pode imprimir resposta_dados e extraia o que precisar, conforme feito no código acima.

Por exemplo, nossa saída de solicitação se parece com isto:

Integre o Zoom Meeting ao seu aplicativo

Embora nossa demonstração não inclua a integração em seu site ou API, seja construindo com Django, Flask, FastAPI ou qualquer outra estrutura Python, você pode facilmente conectar o código à sua base de código.

E ao criar uma API, você pode convertê-la em um endpoint utilizável por qualquer cliente. Você pode até pegar emprestada essa ideia para um site construído usando outras linguagens além do Python. Por exemplo, as etapas para criar um aplicativo OAuth de servidor para servidor são genéricas.