Découvrez comment créer un lien de réunion Zoom sécurisé à l'aide de Python pour la communication de serveur à serveur avec l'authentification OAuth.
Que vous ayez intégré les réunions Zoom dans votre application Python ou que vous envisagiez simplement de le faire, Zoom indique qu'il déconseille les applications JWT le 1er septembre 2023. Vous devrez passer à l'option OAuth ou OAuth de serveur à serveur pour éviter les interruptions de service.
L'option OAuth demande à vos utilisateurs d'authentifier votre site Web via leur compte Zoom. Mais si vous ne générez que des liens de réunion Zoom sans nécessairement demander l'autorisation des utilisateurs, l'option OAuth de serveur à serveur est votre choix idéal.
Alors, comment pouvez-vous y parvenir avec Python ?
Créer une application OAuth de serveur à serveur Zoom
Pour commencer, rendez-vous au Marché Zoom pour créer une nouvelle application :
- Faites défiler la liste des applications et localisez le OAuth de serveur à serveur bannière. Ensuite, cliquez sur le Créer bouton.
- Entrez un nom pour votre application dans le champ fourni. Puis clique Créer; cela vous redirige vers une autre page.
- Copiez toutes les informations d'identification de l'application, y compris votre identifiant de compte, identité du client, et Clé secrète du client. Cliquez sur Continuer une fois fait. Vous voudrez peut-être les coller dans votre fichier de variable d'environnement pour les masquer.
- Dans le menu suivant, remplissez le Informations de base champs avec les informations appropriées et cliquez sur le Continuer bouton.
- Cliquez sur Continuer sur la page suivante.
- Ensuite, cliquez sur Ajouter des étendues et ajoutez les champs d'application suivants; Obtenir l'URI SIP encodé d'une réunion et Afficher et gérer toutes les réunions d'utilisateurs.
- Cliquez sur Continuer. Enfin, cliquez Activez votre application pour commencer à interagir avec l'API Zoom via votre application OAuth de serveur à serveur.
Une fois les étapes précédentes terminées, vous pouvez générer des liens de réunion lors de vos déplacements à l'aide de l'API Zoom. Vous trouverez ci-dessous le code complet pour le faire.
importer demandes
# remplacer par votre identifiant client
id_client = "" # remplacer par votre ID de compte
compte_id = "" # remplacer par votre secret client
secret_client = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# créer la fonction de lien Zoom
définitivementcreate_meeting(sujet, durée, start_date, start_time):
données = {
"type_octroi": "account_credentials",
"identifiant de compte": identifiant de compte,
"client_secret": secret_client
}
réponse = demandes.post (auth_token_url,
auth=(id_client, secret_client),
données=données)
si réponse.status_code!=200:
imprimer("Impossible d'obtenir le jeton d'accès")
response_data = réponse.json()
access_token = réponse_données["jeton d'accès"]en-têtes = {
"Autorisation": f"Porteur {jeton d'accès}",
"Type de contenu": "applications/json"
}
charge utile = {
"sujet": sujet,
"durée": durée,
'Heure de début': F'{date de début}T10 :{Heure de début}',
"taper": 2
}
resp = demandes.post(F"{api_base_url}/users/me/meetings",
en-têtes=en-têtes,
json=charge utile)
si resp.status_code!=201:
imprimer("Impossible de générer le lien de la réunion")
response_data = resp.json()
contenu = {
"url_réunion": response_data["join_url"],
"mot de passe": response_data["mot de passe"],
"Heure de réunion": response_data["Heure de début"],
"but": response_data["sujet"],
"durée": response_data["durée"],
"message": "Succès",
"statut":1
}
impression (contenu)
Le code envoie d'abord une demande à l'URL du jeton de Zoom pour un jeton d'autorisation. En le transmettant via les en-têtes à l'API de Zoom, il renvoie une réponse contenant les détails de la réunion spécifiés dans la charge utile. La réunion Heure de début envoyé avec la charge utile doit être au format ISO 8601. Nous avons formaté ceci en utilisant l'opération de chaîne de Python.
Par exemple, vous pouvez appeler la fonction pour planifier une réunion pour le 23 août 2023 à 18h24 comme suit :
create_meeting(
"Tester la réunion Zoom",
"60",
"2023-08-23",
"18:24",
)
L'API renvoie un JSON contenant de nombreuses informations, notamment le lien de la réunion, le mot de passe et l'ID, parmi de nombreux autres détails. Vous pouvez imprimer données_réponse et extrayez ce dont vous avez besoin, comme cela est fait dans le code ci-dessus.
Par exemple, la sortie de notre requête ressemble à ceci :
Intégrez Zoom Meeting à votre application
Bien que notre démonstration n'inclue pas l'intégration dans votre site Web ou votre API, qu'il s'agisse de créer avec Django, Flask, FastAPI ou tout autre framework Python, vous pouvez facilement insérer le code dans votre base de code.
Et si vous construisez une API, vous pouvez la convertir en un point de terminaison utilisable par n'importe quel client. Vous pouvez même emprunter cette idée pour un site Web construit à l'aide d'autres langages que Python. Par exemple, les étapes de création d'une application OAuth de serveur à serveur sont génériques.