✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як створити зум-зустрічі за допомогою PHP та JWT

37

Раніше я писав статтю, яка пояснює створення Зустрічі масштабування за допомогою PHP та OAuth. Один з наших читачів запитав про створення зустрічі Zoom за допомогою JWT (JSON Web Tokens) та PHP. Zoom API дозволяє нам використовувати як OAuth, так і JWT для роботи з їх API. API Zoom вимагає маркера на пред’явника, згенерованого через OAuth або JWT.

Примітка: JWT може використовуватися лише для внутрішніх додатків та процесів. Усі програми, створені для використання сторонніми розробниками, повинні використовувати тип додатка OAuth.

Коли ви хочете створити програму Zoom для внутрішнього використання, тоді підхід JWT простіше порівняно з OAuth.

Починаємо

Для початку перейдіть на інформаційну панель розробника Zoom і створіть нову програму. Виберіть JWTтип програми та скопіюйте ключ та секрет API Zoom.

Один JWT складається з трьох компонентів: заголовка, корисного навантаження та підпису з .розділенням кожного. Наприклад:aaaaa.bbbbb.ccccc

Доступно кілька бібліотек, які допомагають генерувати JWT. Я порекомендую використовувати бібліотеку firebase / php-jwt. Ця бібліотека забезпечує набагато простіший підхід до створення JWT. Встановіть цю бібліотеку за допомогою наведеної нижче команди.

composer require firebase/php-jwt

Далі нам потрібно надіслати запит POST до Zoom API для створення зустрічі. Для цього можна використовувати curl. Але мені особисто подобається Guzzle, який надає набагато чистіший код, ніж cURL. Ще однією перевагою використання Guzzle є те, що вам не потрібно вмикати розширення cURL на сервері.

Виконайте команду нижче, щоб встановити бібліотеку Guzzle.

composer require guzzlehttp/guzzle

Створюйте зустрічі з масштабуванням за допомогою JWT та PHP

Ми встановили два пакети для досягнення нашої мети. Тепер нам потрібно включити це середовище у наш PHP-файл. Крім того, ми скопіювали ключі API Zoom на попередніх кроках. Давайте визначимо ці ключі як константи в 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');

Далі, для генерації JWT за допомогою firebase/php-jwtпакета, наш код буде таким.

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

Нарешті, для створення зустрічі з масштабуванням потрібно надіслати запит POST до кінцевої точки /v2/users/me/meetingsз JWT як токеном носія.

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

Перелік зустрічей із збільшенням

У вашій програмі, можливо, ви захочете перерахувати всі зустрічі Zoom. Zoom надає API, за допомогою якого ми можемо отримати список усіх зустрічей 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";
    }
}

Тут я друкую тему та URL-адресу зустрічей. Ви також можете надрукувати іншу інформацію. Роздрукуйте змінну, $dataщоб отримати список доступної інформації.

Отримати учасників минулих зборів

Для минулих зустрічей ви можете отримати список учасників, використовуючи Zoom API. Якщо ви перебуваєте на платному рахунку, ви можете використовувати цей конкретний API. Цей API вимагає мати платний рахунок. Якщо ви спробуєте зателефонувати цьому API із безкоштовним обліковим записом, ви отримаєте повідомлення про помилку.

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

Замініть заповнювач MEETING_ID фактичним ідентифікатором минулої зустрічі. У відповідь ви отримаєте імена та електронні адреси учасників.

Видалити зум-зустріч з JWT та PHP

Додаючи для створення зустрічі, Zoom також надає кінцеві точки API, такі як список, оновлення, видалення зустрічі. Користувач повинен слідувати їх документації API для використання певної кінцевої точки. Як приклад, ви можете видалити зустріч, надіславши запит DELETE до кінцевої точки API Zoom. Вам потрібно передати ідентифікатор наради в кінцеву точку наступним чином.

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

Сподіваюся, ви дізналися про створення зустрічей у форматі Zoom з PHP та JWT. Будь ласка, поділіться своїми думками та пропозиціями в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі