✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak tworzyć spotkania Zoom za pomocą PHP i JWT

36

W przeszłości pisałem artykuł wyjaśniający tworzenie Zoom Meeting z PHP i OAuth. Jeden z naszych czytelników zapytał o stworzenie spotkania Zoom przy użyciu JWT (JSON Web Tokens) i PHP. Zoom API pozwala nam używać zarówno OAuth, jak i JWT do obsługi ich API. Zoom API wymaga tokena okaziciela wygenerowanego przez OAuth lub JWT.

Uwaga: tokenów JWT można używać wyłącznie w aplikacjach i procesach wewnętrznych. Wszystkie aplikacje utworzone do użytku przez inne firmy muszą używać aplikacji typu OAuth.

Jeśli chcesz zbudować aplikację Zoom do użytku wewnętrznego, podejście JWT jest łatwiejsze w porównaniu z OAuth.

Pierwsze kroki

Aby rozpocząć, przejdź do pulpitu programisty Zoom i utwórz nową aplikację. Wybierz JWTjako typ aplikacji i skopiuj klucz i klucz tajny Zoom API.

Pojedynczy token JWT składa się z trzech komponentów: nagłówka, ładunku i podpisu, z .których każdy jest oddzielony. Na przykład:aaaaa.bbbbb.ccccc

Dostępnych jest kilka bibliotek, które pomagają w generowaniu tokenów JWT. Polecam korzystanie z biblioteki firebase/php-jwt. Ta biblioteka zapewnia znacznie prostsze podejście do tworzenia tokenów JWT. Zainstaluj tę bibliotekę za pomocą poniższego polecenia.

composer require firebase/php-jwt

Następnie musimy wysłać żądanie POST do Zoom API, aby utworzyć spotkanie. W tym celu można użyć cURL. Ale osobiście lubię Guzzle, który zapewnia znacznie czystszy kod niż cURL. Kolejną zaletą korzystania z Guzzle jest to, że nie musisz mieć włączonego rozszerzenia cURL na serwerze.

Uruchom poniższe polecenie, aby zainstalować bibliotekę Guzzle.

composer require guzzlehttp/guzzle

Twórz spotkania Zoom za pomocą JWT i PHP

Zainstalowaliśmy dwa pakiety, aby osiągnąć nasz cel. Teraz musimy dołączyć jego środowisko do naszego pliku PHP. Ponadto w poprzednich krokach skopiowaliśmy klucze Zoom API. Zdefiniujmy te klucze jako stałe w PHP.

<?php require_once 'vendor/autoload.php';   use FirebaseJWTJWT; use GuzzleHttpClient;   define('ZOOM_API_KEY', 'API_KEY_HERE'); define('ZOOM_SECRET_KEY', 'API_SECRET_HERE');

Następnie, aby wygenerować JWT za pomocą firebase/php-jwtpakietu, nasz kod będzie wyglądał następująco.

function getZoomAccessToken() {     $key = ZOOM_SECRET_KEY;     $payload = array(         "iss" => ZOOM_API_KEY,         'exp' => time() + 3600,     );     return JWT::encode($payload, $key);    }

Na koniec, aby utworzyć spotkanie Zoom, musi wysłać żądanie POST do punktu końcowego /v2/users/me/meetingsz JWT jako Bearer Token.

function createZoomMeeting() {     $client = new Client([         // Base URI is used with relative requests         'base_uri' => 'https://api.zoom.us',     ]);       $response = $client->request('POST', '/v2/users/me/meetings', [         "headers" => [             "Authorization" => "Bearer ". getZoomAccessToken()         ],         'json' => [             "topic" => "Let's Learn WordPress",             "type" => 2,             "start_time" => "2021-01-30T20:30:00",             "duration" => "30", // 30 mins             "password" => "123456"         ],     ]);       $data = json_decode($response->getBody());     echo "Join URL: ". $data->join_url;     echo "<br>";     echo "Meeting Password: ". $data->password; }   createZoomMeeting();

Lista spotkań Zoom

W swojej aplikacji możesz chcieć wyświetlić listę wszystkich spotkań Zoom. Zoom udostępnia API, przez które możemy uzyskać listę wszystkich spotkań Zoom. Korzystając z poniższego kodu, możesz wydrukować szczegóły swoich spotkań Zoom.

$client = new GuzzleHttpClient(['base_uri' => 'https://api.zoom.us']);   $response = $client->request('GET', '/v2/users/me/meetings', [     "headers" => [         "Authorization" => "Bearer ". getZoomAccessToken()     ] ]);   $data = json_decode($response->getBody());   if (!empty($data)) {     foreach ($data->meetings as $d) {         $topic = $d->topic;         $join_url = $d->join_url;         echo "<h3>Topic: $topic</h3>";         echo "Join URL: $join_url";     } }

Tutaj drukuję temat i URL spotkań. Możesz również wydrukować inne informacje. Wydrukuj zmienną, $dataaby uzyskać listę dostępnych informacji.

Uzyskaj poprzednich uczestników spotkania

W przypadku poprzednich spotkań możesz uzyskać listę uczestników za pomocą Zoom API. Jeśli korzystasz z płatnego konta, możesz użyć tego konkretnego interfejsu API. Ten interfejs API wymaga posiadania płatnego konta. Jeśli spróbujesz wywołać ten interfejs API za pomocą bezpłatnego konta, otrzymasz błąd.

$client = new GuzzleHttpClient(['base_uri' => 'https://api.zoom.us']);    $response = $client->request('GET', '/v2/past_meetings/MEETING_ID/participants', [     "headers" => [         "Authorization" => "Bearer ". getZoomAccessToken()     ] ]);    $data = json_decode($response->getBody()); if (!empty($data)) {     foreach ($data->participants as $p) {         $name = $p->name;         $email = $p->user_email;         echo "Name: $name";         echo "Email: $email";     } }

Zastąp symbol zastępczy MEETING_ID rzeczywistym identyfikatorem poprzedniego spotkania. W odpowiedzi otrzymasz nazwiska i e-maile uczestników.

Usuń Zoom Meeting za pomocą JWT i PHP

Dodając, aby utworzyć spotkanie, Zoom zapewnia również punkty końcowe API, takie jak lista, aktualizacja, usunięcie spotkania. Użytkownik musi postępować zgodnie z dokumentacją API, aby korzystać z określonego punktu końcowego. Na przykład możesz usunąć spotkanie, wysyłając żądanie DELETE do punktu końcowego Zoom API. Musisz przekazać swój identyfikator spotkania do punktu końcowego w następujący sposób.

function deleteZoomMeeting($meeting_id) {     $client = new Client([         // Base URI is used with relative requests         'base_uri' => 'https://api.zoom.us',     ]);       $response = $client->request("DELETE", "/v2/meetings/$meeting_id", [         "headers" => [             "Authorization" => "Bearer ". getZoomAccessToken()         ]     ]);       if (204 == $response->getStatusCode()) {         echo "Meeting deleted.";     } }   deleteZoomMeeting('MEETING_ID_HERE');

Mam nadzieję, że dowiedziałeś się o tworzeniu spotkań Zoom z PHP i JWT. Podziel się swoimi przemyśleniami i sugestiami w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów