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ę:

  1. Przewiń listę aplikacji i znajdź plik Serwer-do-serwera OAuth transparent. Następnie kliknij Tworzyć przycisk.
  2. Wpisz nazwę swojej aplikacji w wyświetlonym polu. Następnie kliknij Tworzyć; to przekierowuje cię na inną stronę.
  3. instagram viewer
  4. 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ć.
  5. W poniższym menu wypełnij Podstawowe informacje pola z odpowiednimi informacjami i kliknij przycisk Kontynuować przycisk.
  6. Kliknij Kontynuować na następnej stronie.
  7. 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.
  8. 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.