Aflați cum să creați o legătură de întâlnire Zoom securizată folosind Python pentru comunicarea de la server la server cu autentificare OAuth.
Indiferent dacă ați integrat întâlnirile Zoom în aplicația dvs. Python sau chiar plănuiți să faceți acest lucru, Zoom spune că depreciază aplicațiile JWT la 1 septembrie 2023. Va trebui să comutați la opțiunea OAuth sau OAuth de la server la server pentru a evita întreruperea serviciului.
Opțiunea OAuth cere utilizatorilor să vă autentifice site-ul web prin contul lor Zoom. Dar dacă generați doar linkuri de întâlnire Zoom fără a solicita neapărat permisiunea utilizatorilor, opțiunea OAuth de la server la server este alegerea dvs. ideală.
Deci, cum poți realiza asta cu Python?
Creați o aplicație OAuth de la server la server Zoom
Pentru a începe, îndreptați-vă către Zoom Marketplace pentru a construi o nouă aplicație:
- Derulați prin lista de aplicații și găsiți OAuth de la server la server banner. Apoi, faceți clic pe Crea buton.
- Introduceți un nume pentru aplicația dvs. în câmpul furnizat. Apoi apasa Crea; aceasta vă redirecționează către o altă pagină.
- Copiați toate acreditările aplicației, inclusiv dvs Cont ID, ID client, și Secretul clientului. Clic Continua odata facut. Poate doriți să lipiți acestea în dvs fișier variabilă de mediu pentru a le masca.
- În următorul meniu, completați Informatii de baza câmpurile cu informațiile corespunzătoare și faceți clic pe Continua buton.
- Clic Continua pe pagina următoare.
- Apoi, faceți clic Adăugați domenii și adăugați următoarele domenii; Obțineți codul SIP URI al unei întâlniri și Vizualizați și gestionați toate întâlnirile utilizatorilor.
- Clic Continua. În cele din urmă, faceți clic Activează-ți aplicația pentru a începe să interacționați cu API-ul Zoom prin aplicația dvs. OAuth de la server la server.
Odată terminați cu pașii anteriori, puteți genera link-uri pentru întâlniri din mers folosind API-ul Zoom. Mai jos este codul complet pentru a face acest lucru.
import cereri
# înlocuiți cu ID-ul dvs. de client
client_id = "" # înlocuiți cu ID-ul contului dvs
account_id = "" # înlocuiți cu secretul dvs. de client
client_secret = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# creați funcția de link Zoom
defcreate_meeting(subiect, durată, data_început, ora_început):
date = {
„tip_grant”: „account_credentials”,
"Cont ID": Cont ID,
"client_secret": client_secret
}
răspuns = requests.post (auth_token_url,
auth=(client_id, client_secret),
date=date)
dacă response.status_code!=200:
imprimare(„Nu se poate obține indicativul de acces”)
response_data = response.json()
access_token = răspuns_date["jeton de acces"]antete = {
"Autorizare": f „Purtător {jeton de acces}",
"Tipul de conținut": "aplicație/json"
}
sarcina utila = {
"subiect": subiect,
"durată": durată,
'timpul de începere': f'{data de început}T10:{timpul de începere}',
"tip": 2
}
resp = requests.post(f"{api_base_url}/users/me/meetings",
headers=headers,
json=sarcină utilă)
dacă resp.status_code!=201:
imprimare(„Nu se poate genera linkul întâlnirii”)
răspuns_date = resp.json()
continut = {
„url_întâlnire”: răspuns_date["join_url"],
"parola": răspuns_date["parola"],
„ora întâlnirii”: răspuns_date["timpul de începere"],
"scop": răspuns_date["subiect"],
"durată": răspuns_date["durată"],
"mesaj": "Succes",
"stare":1
}
imprimare (conținut)
Codul trimite mai întâi o solicitare către adresa URL a simbolului Zoom pentru un simbol de autorizare. Transmițând acest lucru prin antetele API-ului Zoom, returnează un răspuns care conține detaliile întâlnirii specificate în încărcarea utilă. Intalnirea timpul de începere trimis cu sarcina utilă trebuie să fie în format ISO 8601. Am formatat asta folosind operația cu șiruri a lui Python.
De exemplu, puteți apela funcția pentru a programa o întâlnire pentru 23 august 2023, la 18:24, după cum urmează:
create_meeting(
„Test Zoom Meeting”,
"60",
"2023-08-23",
"18:24",
)
API-ul returnează un JSON care conține o mulțime de informații, inclusiv linkul întâlnirii, parola și ID-ul, printre multe alte detalii. Puteți imprima răspuns_date și extrageți ceea ce aveți nevoie, așa cum se face în codul de mai sus.
De exemplu, ieșirea cererii noastre arată astfel:
Integrați Zoom Meeting în aplicația dvs
Deși demonstrația noastră nu include integrarea în site-ul dvs. web sau în API-ul dvs., indiferent dacă construiți cu Django, Flask, FastAPI sau orice alt cadru Python, puteți conecta cu ușurință codul în baza de cod.
Și dacă construiți un API, îl puteți converti într-un punct final utilizabil de orice client. Puteți chiar să împrumutați această idee pentru un site web construit folosind alte limbi în afară de Python. De exemplu, pașii pentru crearea unei aplicații OAuth de la server la server sunt generici.