Erfahren Sie, wie Sie mit Python einen sicheren Zoom-Meeting-Link für die Server-zu-Server-Kommunikation mit OAuth-Authentifizierung erstellen.
Ganz gleich, ob Sie Zoom-Meetings in Ihre Python-App integriert haben oder dies gerade planen: Laut Zoom werden JWT-Apps ab dem 1. September 2023 eingestellt. Sie müssen zur OAuth- oder Server-zu-Server-OAuth-Option wechseln, um Dienstausfallzeiten zu vermeiden.
Die OAuth-Option erfordert, dass Ihre Benutzer Ihre Website über ihr Zoom-Konto authentifizieren. Wenn Sie jedoch nur Zoom-Meeting-Links generieren, ohne unbedingt die Erlaubnis der Benutzer einzuholen, ist die Server-zu-Server-OAuth-Option Ihre ideale Wahl.
Wie können Sie dies mit Python erreichen?
Erstellen Sie eine Zoom Server-zu-Server-OAuth-App
Gehen Sie zunächst zu Zoom-Marktplatz So erstellen Sie eine neue App:
- Scrollen Sie durch die Liste der Apps und suchen Sie nach Server-zu-Server-OAuth Banner. Klicken Sie dann auf Erstellen Taste.
- Geben Sie in das dafür vorgesehene Feld einen Namen für Ihre App ein. Dann klick Erstellen; Dadurch werden Sie auf eine andere Seite weitergeleitet.
- Kopieren Sie alle App-Anmeldeinformationen, einschließlich Ihrer Konto-ID, Kunden ID, Und Client-Geheimnis. Klicken Weitermachen einmal getan. Vielleicht möchten Sie diese in Ihr einfügen Umgebungsvariablendatei um sie zu maskieren.
- Füllen Sie im folgenden Menü das aus Grundinformation Geben Sie in den Feldern die entsprechenden Informationen ein und klicken Sie auf Weitermachen Taste.
- Klicken Weitermachen auf der folgenden Seite.
- Klicken Sie anschließend auf Bereiche hinzufügen und fügen Sie die folgenden Bereiche hinzu; Rufen Sie den verschlüsselten SIP-URI eines Meetings ab Und Alle Benutzertreffen anzeigen und verwalten.
- Klicken Weitermachen. Klicken Sie abschließend Aktivieren Sie Ihre App um mit der Zoom-API über Ihre Server-zu-Server-OAuth-App zu interagieren.
Sobald Sie mit den vorherigen Schritten fertig sind, können Sie mithilfe der Zoom-API unterwegs Besprechungslinks generieren. Nachfolgend finden Sie den vollständigen Code dafür.
importieren Anfragen
# durch Ihre Kunden-ID ersetzen
client_id = "" # durch Ihre Konto-ID ersetzen
account_id = "" # durch Ihr Client-Geheimnis ersetzen
client_secret = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# Erstellen Sie die Zoom-Link-Funktion
defcreate_meeting(Thema, Dauer, Startdatum, Startzeit):
Daten = {
„grant_type“: "Kontoanmeldeinformationen",
„account_id“: Konto-ID,
„client_secret“: client_secret
}
Antwort = request.post (auth_token_url,
auth=(client_id, client_secret),
Daten=Daten)
Wenn Antwort.status_code!=200:
drucken(„Zugriffstoken konnte nicht abgerufen werden“)
Response_data = Response.json()
access_token = Antwortdaten["Zugangstoken"]Header = {
"Genehmigung": f"Träger {Zugangstoken}",
"Inhaltstyp": „application/json“
}
Nutzlast = {
"Thema": Thema,
"Dauer": Dauer,
'Startzeit': F'{Startdatum}T10:{Startzeit}',
"Typ": 2
}
resp = request.post(F"{api_base_url}/users/me/meetings",
Header=Header,
json=Nutzlast)
Wenn resp.status_code!=201:
drucken(„Besprechungslink konnte nicht generiert werden“)
Response_data = resp.json()
Inhalt = {
„meeting_url“: Antwortdaten[„join_url“],
"Passwort": Antwortdaten["Passwort"],
"Verabredungszeitpunkt": Antwortdaten["Startzeit"],
"Zweck": Antwortdaten["Thema"],
"Dauer": Antwortdaten["Dauer"],
"Nachricht": "Erfolg",
"Status":1
}
drucken (Inhalt)
Der Code sendet zunächst eine Anfrage an die Token-URL von Zoom für ein Autorisierungstoken. Wenn dies über die Header an die API von Zoom weitergeleitet wird, wird eine Antwort zurückgegeben, die die in der Nutzlast angegebenen Besprechungsdetails enthält. Das Treffen Startzeit Die mit der Nutzlast gesendeten Daten müssen im ISO 8601-Format vorliegen. Wir haben dies formatiert unter Verwendung der String-Operation von Python.
Sie können die Funktion beispielsweise wie folgt aufrufen, um ein Meeting für den 23. August 2023 um 18:24 Uhr zu planen:
create_meeting(
„Zoom-Meeting testen“,
"60",
"2023-08-23",
"18:24",
)
Die API gibt einen JSON-Code mit zahlreichen Informationen zurück, darunter neben vielen anderen Details auch den Meeting-Link, das Passwort und die ID. Sie können drucken Antwortdaten und extrahieren Sie, was Sie benötigen, wie im obigen Code beschrieben.
Unsere Anfrageausgabe sieht zum Beispiel so aus:
Integrieren Sie Zoom Meeting in Ihre App
Obwohl unsere Demonstration nicht die Integration in Ihre Website oder API beinhaltet, unabhängig davon, ob Sie damit erstellen Mit Django, Flask, FastAPI oder einem anderen Python-Framework können Sie den Code problemlos in Ihre Codebasis einfügen.
Und wenn Sie eine API erstellen, können Sie diese in einen Endpunkt umwandeln, der von jedem Client verwendet werden kann. Sie können diese Idee sogar für eine Website übernehmen, die neben Python auch in anderen Sprachen erstellt wurde. Beispielsweise sind die Schritte zum Erstellen einer Server-zu-Server-OAuth-App generisch.