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

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

22

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