Scopri come creare un collegamento sicuro alla riunione Zoom utilizzando Python per la comunicazione da server a server con l'autenticazione OAuth.
Indipendentemente dal fatto che tu abbia integrato le riunioni Zoom nella tua app Python o semplicemente pianificando di farlo, Zoom afferma che deprecherà le app JWT il 1 settembre 2023. Dovrai passare all'opzione OAuth o OAuth da server a server per evitare tempi di inattività del servizio.
L'opzione OAuth richiede ai tuoi utenti di autenticare il tuo sito web tramite il loro account Zoom. Ma se stai generando solo link per riunioni Zoom senza richiedere necessariamente l'autorizzazione degli utenti, l'opzione OAuth da server a server è la tua scelta ideale.
Quindi, come puoi ottenere questo risultato con Python?
Crea un'app OAuth da server a server Zoom
Per iniziare, vai al Mercato Zoom per creare una nuova app:
- Scorri l'elenco delle app e individua il file OAuth da server a server bandiera. Quindi, fare clic su Creare pulsante.
- Inserisci un nome per la tua app nel campo fornito. Quindi fare clic Creare; questo ti reindirizza a un'altra pagina.
- Copia tutte le credenziali dell'app, incluso il tuo Account ID, Identificativo cliente, E Segreto del cliente. Clic Continua una volta fatto. Potresti voler incollare questi nel tuo file variabile di ambiente per mascherarli.
- Nel seguente menu, compilare il Informazioni di base campi con le informazioni appropriate e fare clic su Continua pulsante.
- Clic Continua nella pagina seguente.
- Quindi, fai clic Aggiungi ambiti e aggiungi i seguenti ambiti; Ottieni l'URI SIP codificato di una riunione E Visualizza e gestisci tutte le riunioni degli utenti.
- Clic Continua. Infine, fai clic Attiva la tua app per iniziare a interagire con l'API Zoom tramite l'app OAuth da server a server.
Una volta completati i passaggi precedenti, puoi generare collegamenti alle riunioni ovunque ti trovi utilizzando l'API Zoom. Di seguito è riportato il codice completo per farlo.
importare richieste
# sostituisci con il tuo ID cliente
client_id = "" # sostituisci con il tuo ID account
account_id = "" # sostituisci con il tuo client secret
client_secret = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# crea la funzione di collegamento Zoom
defcrea_riunione(argomento, durata, start_date, start_time):
dati = {
"tipo_concessione": "Credenziali dell'account",
"Account ID": Account ID,
"cliente_segreto": client_secret
}
risposta = richieste.post (auth_token_url,
auth=(client_id, client_secret),
dati=dati)
Se response.status_code!=200:
stampa("Impossibile ottenere il token di accesso")
response_data = risposta.json()
token_accesso = dati_risposta["token di accesso"]intestazioni = {
"Autorizzazione": f"Portatore {token di accesso}",
"Tipo di contenuto": "applicazione/json"
}
carico utile = {
"argomento": argomento,
"durata": durata,
'Ora di inizio': F'{data d'inizio}T10:{Ora di inizio}',
"tipo": 2
}
resp = richieste.post(F"{api_base_url}/users/me/meetings",
intestazioni=intestazioni,
json=carico utile)
Se resp.status_code!=201:
stampa("Impossibile generare il collegamento alla riunione")
response_data = resp.json()
contenuto = {
"url_riunione": data_risposta["join_url"],
"parola d'ordine": data_risposta["parola d'ordine"],
"Tempo di riunione": data_risposta["Ora di inizio"],
"scopo": data_risposta["argomento"],
"durata": data_risposta["durata"],
"Messaggio": "Successo",
"stato":1
}
stampa (contenuto)
Il codice invia innanzitutto una richiesta all'URL del token di Zoom per un token di autorizzazione. Trasmettendolo tramite le intestazioni all'API di Zoom, restituisce una risposta contenente i dettagli della riunione specificati nel payload. L'incontro Ora di inizio inviato con il payload deve essere in formato ISO 8601. Abbiamo formattato questo usando l'operazione di stringa di Python.
Ad esempio, puoi chiamare la funzione per pianificare una riunione per il 23 agosto 2023 alle 18:24 come segue:
crea_riunione(
"Riunione Zoom di prova",
"60",
"2023-08-23",
"18:24",
)
L'API restituisce un JSON contenente molte informazioni, tra cui il collegamento alla riunione, la password e l'ID, tra molti altri dettagli. Puoi stampare dati_risposta ed estrai ciò di cui hai bisogno, come fatto nel codice sopra.
Ad esempio, l'output della nostra richiesta è simile a questo:
Integra Zoom Meeting nella tua app
Sebbene la nostra dimostrazione non includa l'integrazione nel tuo sito web o nella tua API, sia che si costruisca con Django, Flask, FastAPI o qualsiasi altro framework Python, puoi facilmente inserire il codice nella tua base di codice.
E se crei un'API, puoi convertirla in un endpoint utilizzabile da qualsiasi client. Puoi anche prendere in prestito questa idea per un sito Web creato utilizzando altri linguaggi oltre a Python. Ad esempio, i passaggi per la creazione di un'app OAuth da server a server sono generici.