Zoom

ユーザー情報取得

function urlsafe_base64_encode($str){
 return str_replace(array('+','/','='), array('-','_',''), base64_encode($str));
}

$API_Key = 'XXXXXXXXXXXXXXXXXXXXXX';
$API_Secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$expiration = time() + 5;//5秒

$header = urlsafe_base64_encode('{"alg":"HS256","typ":"JWT"}');
$payload = urlsafe_base64_encode('{"iss":"'.$API_Key.'","exp":'.$expiration.'}');
$signature = urlsafe_base64_encode(hash_hmac('sha256', "$header.$payload", $API_Secret, TRUE));
$token = "$header.$payload.$signature";

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.zoom.us/v2/users?status=active&page_size=30&page_number=1",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer ${token}",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
curl_close($curl);

$json = json_decode( $response , true ) ;
print($json["users"][0]["id"]."\r\n");

トークン取得

$API_Key = 'XXXXXXXXXXXXXXXXXXXXXX';
$API_Secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$Redirect_URL = 'https://sample.office-yone.com/sample2/redirect.php';

if(!isset($_GET['code'])){
  echo 'Authorization Error';
}

$basic = base64_encode($API_Key.':'.$API_Secret);

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://zoom.us/oauth/token?grant_type=authorization_code&code={$_GET['code']}&redirect_uri=$Redirect_URL",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "authorization: Basic $basic"
  ),
));

$response = curl_exec($curl);
curl_close($curl);

$json = json_decode( $response , true ) ;

ミーティング情報取得

ユーザーID、トークンは↑で取得

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.zoom.us/v2/users/${userId}/meetings?page_number=1&page_size=30&type=live",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer ${token}",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
curl_close($curl);

$json = json_decode( $response , true ) ;

Follow me!