Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP Extension) Zoom API - Create JWT to Authenticate API RequestsSee more Zoom ExamplesCreates a JWT for the Zoom API. For more information, see https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#using-jwt
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Use your API key and secret here... $apiKey = 'o9rw6Gq0RnqlkfaSqtCMOA'; $apiSecret = 'UslmE23Kjh7at9z3If1xAHEyLmPDNxvxQrjR'; // Create a JWT to authenticate Zoom API requests. $jwt = new CkJwt(); $jose = new CkJsonObject(); $success = $jose->UpdateString('alg','HS256'); $success = $jose->UpdateString('typ','JWT'); // Build claims to look like this: // {"aud":null,"iss":"o9rw6Gq0RnqlkfaSqtCMOA","exp":1627651762,"iat":1627646363} $claims = new CkJsonObject(); $success = $claims->UpdateString('iss',$apiKey); $success = $claims->UpdateNull('aud'); // Set the timestamp of when the JWT was created to now. $curDateTime = $jwt->GenNumericDate(0); $success = $claims->AddIntAt(-1,'iat',$curDateTime); // Set the timestamp defining an expiration time (end time) for the token // to be now + 1 month(3600 * 24 * 30 seconds) $oneMonth = 3600 * 24 * 30; $success = $claims->AddIntAt(-1,'exp',$curDateTime + $oneMonth); // Produce the smallest possible JWT: $jwt->put_AutoCompact(true); $strJwt = $jwt->createJwt($jose->emit(),$claims->emit(),$apiSecret); print $strJwt . "\n"; // Let's test the JWT to by sending the following request: // curl --request GET \ // --url 'https://api.zoom.us/v2/users?status=active&page_size=30&page_number=1' \ // --header 'authorization: Bearer { your_token }' \ // --header 'content-type: application/json $http = new CkHttp(); // Implements the following CURL command: // curl --request GET \ // --url 'https://api.zoom.us/v2/users?status=active&page_size=30&page_number=1' \ // --header 'authorization: Bearer { your_token }' \ // --header 'content-type: application/json // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code $http->SetRequestHeader('content-type','application/json'); // Adds the "Authorization: Bearer { your_token }" header. $http->put_AuthToken($strJwt); $sbResponseBody = new CkStringBuilder(); $success = $http->QuickGetSb('https://api.zoom.us/v2/users?status=active&page_size=30&page_number=1',$sbResponseBody); if ($success == false) { print $http->lastErrorText() . "\n"; exit; } $jResp = new CkJsonObject(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(false); print 'Response Body:' . "\n"; print $jResp->emit() . "\n"; $respStatusCode = $http->get_LastStatus(); print 'Response Status Code = ' . $respStatusCode . "\n"; if ($respStatusCode >= 400) { print 'Response Header:' . "\n"; print $http->lastHeader() . "\n"; print 'Failed.' . "\n"; exit; } // Sample output: // { // "page_count": 1, // "page_number": 1, // "page_size": 30, // "total_records": 1, // "users": [ // { // "id": "s8uAiMJiRmS_-eu1yOhKlg", // "first_name": "Joe", // "last_name": "Example", // "email": "joe@example.com", // "type": 1, // "pmi": 5224934114, // "timezone": "America/Chicago", // "verified": 1, // "created_at": "2021-07-30T11:56:37Z", // "last_login_time": "2021-07-30T11:56:37Z", // "language": "en-US", // "phone_number": "", // "status": "active", // "role_id": "0" // } // ] // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON $page_count = $jResp->IntOf('page_count'); $page_number = $jResp->IntOf('page_number'); $page_size = $jResp->IntOf('page_size'); $total_records = $jResp->IntOf('total_records'); $i = 0; $count_i = $jResp->SizeOfArray('users'); while ($i < $count_i) { $jResp->put_I($i); $id = $jResp->stringOf('users[i].id'); $first_name = $jResp->stringOf('users[i].first_name'); $last_name = $jResp->stringOf('users[i].last_name'); $email = $jResp->stringOf('users[i].email'); $v_type = $jResp->IntOf('users[i].type'); $pmi = $jResp->IntOf('users[i].pmi'); $timezone = $jResp->stringOf('users[i].timezone'); $verified = $jResp->IntOf('users[i].verified'); $created_at = $jResp->stringOf('users[i].created_at'); $last_login_time = $jResp->stringOf('users[i].last_login_time'); $language = $jResp->stringOf('users[i].language'); $phone_number = $jResp->stringOf('users[i].phone_number'); $status = $jResp->stringOf('users[i].status'); $role_id = $jResp->stringOf('users[i].role_id'); $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.