Leer hoe u een veilige Zoom-vergaderlink kunt maken met behulp van Python voor server-naar-server-communicatie met OAuth-authenticatie.

Of je nu Zoom-vergaderingen in je Python-app hebt geïntegreerd of van plan bent dit te doen, Zoom zegt dat het JWT-apps op 1 september 2023 afschaft. U moet overschakelen naar de OAuth- of server-naar-server OAuth-optie om downtime van de service te voorkomen.

De OAuth-optie vereist dat uw gebruikers uw website verifiëren via hun Zoom-account. Maar als u alleen Zoom-vergaderlinks genereert zonder noodzakelijkerwijs om toestemming van gebruikers te vragen, is de server-naar-server OAuth-optie uw ideale keuze.

Dus hoe kun je dit bereiken met Python?

Maak een Zoom Server-to-Server OAuth-app

Ga om te beginnen naar de Zoom Marktplaats om een ​​nieuwe app te bouwen:

  1. Blader door de lijst met apps en zoek het Server-naar-server OAuth spandoek. Klik vervolgens op de Creëren knop.
  2. Voer een naam in voor uw app in het daarvoor bestemde veld. Dan klikken Creëren; dit leidt u om naar een andere pagina.
  3. instagram viewer
  4. Kopieer alle inloggegevens van de app, inclusief uw Account ID, klant identificatie, En Cliënt geheim. Klik Doorgaan eenmaal gedaan. Misschien wil je deze in je omgevingsvariabele bestand om ze te maskeren.
  5. Vul in het volgende menu de Basis informatie velden met de juiste informatie en klik op de Doorgaan knop.
  6. Klik Doorgaan op de volgende pagina.
  7. Klik vervolgens Bereiken toevoegen en voeg de volgende bereiken toe; De gecodeerde SIP-URI van een vergadering ophalen En Bekijk en beheer alle gebruikersbijeenkomsten.
  8. Klik Doorgaan. Klik ten slotte Activeer je app om te beginnen met interactie met de Zoom API via uw server-naar-server OAuth-app.

Als u klaar bent met de vorige stappen, kunt u onderweg vergaderlinks genereren met behulp van de Zoom API. Hieronder vindt u de volledige code om dit te doen.

importeren aanvragen

# vervang door uw klant-ID
klant_id = ""

# vervang door uw account-ID
account_id = ""

# vervang door uw klantgeheim
cliënt_geheim = ""

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

# creëer de Zoomlink-functie
defcreate_meeting(onderwerp, duur, startdatum, starttijd):
gegevens = {
"subsidie_type": "Accountgegevens",
"Account ID": Account ID,
"client_geheim": client_geheim
}
respons = verzoeken.post (auth_token_url,
auth=(client_id, client_geheim),
gegevens=gegevens)

als respons.status_code!=200:
afdrukken("Kan toegangstoken niet ophalen")
respons_data = respons.json()
access_token = respons_data["toegangstoken"]

koppen = {
"Autorisatie": f"Drager {toegangstoken}",
"Content-Type": "toepassing/json"
}
laadvermogen = {
"onderwerp": onderwerp,
"duur": duur,
'starttijd': F'{begin datum}T10:{starttijd}',
"type": 2
}

resp = aanvragen.post(F"{api_base_url}/users/me/meetings",
kopteksten=kopteksten,
json=lading)

als resp.status_code!=201:
afdrukken("Kan link naar vergadering niet genereren")
response_data = resp.json()

inhoud = {
"vergadering_url": respons_gegevens["join_url"],
"wachtwoord": respons_gegevens["wachtwoord"],
"ontmoetingstijd": respons_gegevens["starttijd"],
"doel": respons_gegevens["onderwerp"],
"duur": respons_gegevens["duur"],
"bericht": "Succes",
"toestand":1
}
afdrukken (inhoud)

De code stuurt eerst een verzoek naar de token-URL van Zoom voor een autorisatietoken. Door dit via de headers door te geven aan de API van Zoom, retourneert het een antwoord met het vergaderingsdetail dat is gespecificeerd in de payload. De ontmoeting starttijd verzonden met de payload moet in ISO 8601-indeling zijn. We hebben dit geformatteerd met behulp van de tekenreeksbewerking van Python.

U kunt de functie om een ​​vergadering te plannen voor 23 augustus 2023 om 18:24 bijvoorbeeld als volgt aanroepen:

maak_vergadering(
"Test Zoom Meeting",
"60",
"2023-08-23",
"18:24",
)

De API retourneert een JSON met veel informatie, waaronder de vergaderlink, het wachtwoord en de ID, naast vele andere details. U kunt afdrukken respons_gegevens en pak uit wat je nodig hebt, zoals gedaan in de bovenstaande code.

Onze uitvoer van verzoeken ziet er bijvoorbeeld als volgt uit:

Integreer Zoom Meeting in uw app

Hoewel onze demonstratie geen integratie in uw website of API omvat, of u nu bouwt met Django, Flask, FastAPI of een ander Python-framework, u kunt de code eenvoudig in uw codebase pluggen.

En als u een API bouwt, kunt u deze omzetten in een eindpunt dat door elke klant kan worden gebruikt. Je kunt dit idee zelfs lenen voor een website die naast Python in andere talen is gebouwd. De stappen voor het maken van een server-naar-server OAuth-app zijn bijvoorbeeld generiek.