Dowiedz się, jak utworzyć bezpieczne łącze do spotkania Zoom przy użyciu języka Python do komunikacji serwer-serwer z uwierzytelnianiem OAuth.
Niezależnie od tego, czy zintegrowałeś spotkania Zoom ze swoją aplikacją Python, czy po prostu planujesz to zrobić, Zoom mówi, że 1 września 2023 r. wycofuje aplikacje JWT. Musisz przełączyć się na opcję OAuth lub serwer-serwer OAuth, aby uniknąć przestojów usługi.
Opcja OAuth wymaga od użytkowników uwierzytelnienia Twojej witryny za pośrednictwem konta Zoom. Ale jeśli generujesz tylko linki do spotkań Zoom bez konieczności proszenia użytkowników o pozwolenie, opcja OAuth między serwerami jest idealnym wyborem.
Jak więc możesz to osiągnąć za pomocą Pythona?
Utwórz aplikację Zoom Server-to-Server OAuth
Aby rozpocząć, przejdź do Rynek Zoom aby zbudować nową aplikację:
- Przewiń listę aplikacji i znajdź plik Serwer-do-serwera OAuth transparent. Następnie kliknij Tworzyć przycisk.
- Wpisz nazwę swojej aplikacji w wyświetlonym polu. Następnie kliknij Tworzyć; to przekierowuje cię na inną stronę.
- Skopiuj wszystkie poświadczenia aplikacji, w tym Twoje ID konta, Identyfikator klienta, I Sekret klienta. Kliknij Kontynuować raz zrobione. Możesz chcieć wkleić je do swojego plik zmiennych środowiskowych aby je zamaskować.
- W poniższym menu wypełnij Podstawowe informacje pola z odpowiednimi informacjami i kliknij przycisk Kontynuować przycisk.
- Kliknij Kontynuować na następnej stronie.
- Następnie kliknij Dodaj zakresy i dodaj następujące zakresy; Uzyskaj zakodowany identyfikator URI SIP spotkania I Przeglądaj i zarządzaj wszystkimi spotkaniami użytkowników.
- Kliknij Kontynuować. Na koniec kliknij Aktywuj swoją aplikację aby rozpocząć interakcję z Zoom API za pośrednictwem aplikacji OAuth między serwerami.
Po wykonaniu poprzednich kroków możesz generować linki do spotkań w podróży, korzystając z interfejsu Zoom API. Poniżej znajduje się pełny kod do tego.
import upraszanie
# zastąp swoim identyfikatorem klienta
identyfikator_klienta = "" # zastąp swoim identyfikatorem konta
identyfikator_konta = "" # zastąp kluczem klienta
sekret_klienta = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# utwórz funkcję łącza Zoom
pokutwórz_spotkanie(temat, czas trwania, data_początkowa, godzina_początkowa):
dane = {
"typ_grantu": "Poświadczenia konta",
"ID konta": ID konta,
„tajemnica_klienta”: klucz_klienta
}
odpowiedź = request.post (auth_token_url,
auth=(identyfikator_klienta, sekret_klienta),
dane=dane)
Jeśli odpowiedź.kod_statusu!=200:
wydrukować(„Nie można uzyskać tokena dostępu”)
dane_odpowiedzi = odpowiedź.json()
token_dostępu = dane_odpowiedzi["znak_dostępu"]nagłówki = {
"Upoważnienie": f „Nosiciel {access_token}",
"Typ zawartości": "aplikacja/json"
}
ładunek = {
"temat": temat,
"czas trwania": czas trwania,
'czas rozpoczęcia': F'{Data rozpoczęcia}T10:{czas rozpoczęcia}',
"typ": 2
}
odp = żądania.post(F"{api_base_url}/users/me/meetings",
nagłówki=nagłówki,
json=ładunek)
Jeśli resp.status_code!=201:
wydrukować(„Nie można wygenerować linku do spotkania”)
dane_odpowiedzi = odp.json()
zawartość = {
„url_spotkania”: dane_odpowiedzi["dołącz_url"],
"hasło": dane_odpowiedzi["hasło"],
"czas spotkania": dane_odpowiedzi["czas rozpoczęcia"],
"zamiar": dane_odpowiedzi["temat"],
"czas trwania": dane_odpowiedzi["czas trwania"],
"wiadomość": "Powodzenie",
"status":1
}
drukować (treść)
Kod najpierw wysyła żądanie do adresu URL tokena Zoom w celu uzyskania tokena autoryzacyjnego. Przekazując to przez nagłówki do API Zoom, zwraca odpowiedź zawierającą szczegóły spotkania określone w ładunku. Spotkanie czas rozpoczęcia wysyłane z ładunkiem muszą być w formacie ISO 8601. Sformatowaliśmy to przy użyciu operacji łańcuchowej Pythona.
Na przykład możesz wywołać tę funkcję, aby zaplanować spotkanie na 23 sierpnia 2023 r. na 18:24 w następujący sposób:
utwórz_spotkanie(
„Testowe spotkanie Zoom”,
"60",
"2023-08-23",
"18:24",
)
Interfejs API zwraca plik JSON zawierający wiele informacji, w tym link do spotkania, hasło i identyfikator oraz wiele innych szczegółów. Możesz wydrukować dane_odpowiedzi i wyodrębnij to, czego potrzebujesz, tak jak w powyższym kodzie.
Na przykład dane wyjściowe naszego żądania wyglądają następująco:
Zintegruj spotkanie Zoom ze swoją aplikacją
Chociaż nasza demonstracja nie obejmuje integracji z Twoją witryną internetową ani interfejsem API, niezależnie od tego, czy tworzysz z Django, Flask, FastAPI lub jakikolwiek inny framework Pythona, możesz łatwo podłączyć kod do swojej bazy kodu.
A jeśli tworzysz interfejs API, możesz go przekształcić w punkt końcowy, z którego może korzystać każdy klient. Możesz nawet pożyczyć ten pomysł na stronę internetową zbudowaną przy użyciu innych języków niż Python. Na przykład kroki tworzenia aplikacji OAuth typu serwer-serwer są ogólne.