✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Zoom-kokousten luominen PHP: n ja JWT: n avulla

35

Aiemmin olen kirjoittanut artikkelin, joka selittää Zoom-kokouksen luomisen PHP: n ja OAuthin kanssa. Yksi lukijoistamme kysyi Zoom-kokouksen luomisesta JWT: n (JSON Web Tokens) ja PHP: n avulla. Zoom- sovellusliittymä antaa meille mahdollisuuden käyttää sekä OAuthia että JWT: tä niiden sovellusliittymien käsittelemiseksi. Zoom-sovellusliittymä vaatii joko OAuthin tai JWT: n kautta generoidun Bearer-tunnuksen.

Huomaa: JWT: tä voidaan käyttää vain sisäisiin sovelluksiin ja prosesseihin. Kaikkien kolmannen osapuolen käyttöön luotujen sovellusten on käytettävä OAuth-sovellustyyppiä.

Kun haluat rakentaa Zoom-sovelluksen sisäiseen käyttöön, JWT-lähestymistapa on helpompaa kuin OAuth.

Päästä alkuun

Aloita siirtymällä Zoom Developer Dashboardiin ja luomalla uusi sovellus. Valitse JWTsovellustyypiksi ja kopioi Zoom-sovellusliittymäavain ja salaisuus.

Yksi JWT koostuu kolmesta osasta: otsikko, hyötykuorma ja allekirjoitus .erottamalla ne toisistaan. Esimerkiksi:aaaaa.bbbbb.ccccc

Saatavilla on useita kirjastoja, jotka auttavat tuottamaan JWT: tä. Suosittelen käyttämään firebase / php-jwt- kirjastoa. Tämä kirjasto tarjoaa paljon helpomman tavan luoda JWT. Asenna tämä kirjasto alla olevan komennon avulla.

composer require firebase/php-jwt

Seuraavaksi meidän on lähetettävä POST-pyyntö Zoom-sovellusliittymälle kokouksen luomiseksi. CURL: ää voidaan käyttää tähän tarkoitukseen. Pidän kuitenkin henkilökohtaisesti Guzzlesta, joka tarjoaa paljon puhtaamman koodin kuin cURL. Toinen etu Guzzlen käytöstä on, että sinun ei tarvitse olla cURL-laajennusta käytössä palvelimella.

Asenna Guzzlen kirjasto suorittamalla seuraava komento.

composer require guzzlehttp/guzzle

Luo Zoom-kokouksia JWT: n ja PHP: n avulla

Olemme asentaneet kaksi pakettia tavoitteemme saavuttamiseksi. Nyt meidän on sisällytettävä sen ympäristö PHP-tiedostoon. Olemme myös kopioineet Zoom API -avaimet edellisissä vaiheissa. Määritetään nämä avaimet vakioina PHP: ssä.

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

Seuraavaksi, jotta voimme luoda JWT: n firebase/php-jwtpaketin avulla, koodi on seuraava.

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

Lopuksi Zoom-kokouksen luomiseksi sen on lähetettävä POST-pyyntö päätepisteelle, /v2/users/me/meetingsjossa JWT on kantotunnus.

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();

Luettelo Zoom-kokouksista

Haluat ehkä listata kaikki Zoom-kokoukset sovelluksessasi. Zoom tarjoaa API: n, jonka kautta voimme saada luettelon kaikista Zoom-kokouksista. Alla olevan koodin avulla voit tulostaa Zoom-kokousten tiedot.

$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";     } }

Tulostan täällä kokousten aiheita ja URL-osoitteita. Voit tulostaa myös muita tietoja. Tulosta muuttuja $datasaadaksesi luettelon käytettävissä olevista tiedoista.

Hanki aiemmat kokouksen osallistujat

Aikaisemmista kokouksista voit saada luettelon osallistujista Zoom-sovellusliittymän avulla. Jos olet maksullisella tilillä, voit käyttää tätä erityistä sovellusliittymää. Tällä sovellusliittymällä on oltava maksettu tili. Jos yrität soittaa tähän sovellusliittymään ilmaisella tilillä, saat virheilmoituksen.

$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";     } }

Korvaa paikkamerkki MEETING_ID todellisella edellisen kokouksen tunnuksella. Vastauksessa saat osallistujien nimet ja sähköpostit.

Poista Zoom Meeting JWT: n ja PHP: n avulla

Lisäämällä kokouksen luomisen Zoom tarjoaa myös API-päätepisteet, kuten luettelon, päivityksen ja kokouksen poistamisen. Käyttäjän on noudatettava API-dokumentaatiotaan tietyn päätepisteen käyttämiseksi. Voit esimerkiksi poistaa kokouksen lähettämällä POISTA-pyynnön Zoom-sovellusliittymän päätepisteeseen. Sinun on välitettävä kokoustunnuksesi päätepisteeseen seuraavasti.

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');

Toivon, että sait tietää Zoom-kokousten luomisesta PHP: n ja JWT: n kanssa. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja