テレワークで日本を変える|Web会議・テレビ会議(TV会議)のブイキューブ

テレワークで日本を変える|テレビ会議(TV会議)・Web会議・電話会議のブイキューブ

agora.io Dashboard RESTful APIの利用例

  • REST-API
  • Agora.io

概要

agora.ioではSDKの他に、ユーザーの入室制限や、チャネルの利用状況を確認できるDashboard RESTful APIがあります。
公式ドキュメント(英文)
システム組み込みにおいて利用頻度の高い機能をピックアップします。

ソースコード

Githubに公開しています

認証について

APIの認証はBasic認証で行います。ユーザー名,パスワードはダッシュボード上から取得できます。

実装例

基本設定

config.php
<?php
$baseUrl  = "https://api.agora.io/dev/v1"; 
$userName = "USERNAME";
$password = "PASSWORD";

ユーザーの入室制限

・Method:POST
・Path:BaseUrl/kicking-rule/
・Parameter:

{
  "appid":"",   // 必須, project App ID
  "cname":"",   // オプション, チャネル名。
  "uid":"",     // オプション, JoinChannel時のuid。
  "ip":"",      // オプション, 接続元IPアドレス。
  "time": 60    // オプション, 制限期間。デフォルト60分で、設定可能時間は11440分。 
  "privileges":["join_channel"]
}

実装例

banUsers.php
<?php
require 'config.php';

$url = sprintf("%s/%s/",$baseUrl,"kicking-rule");

$data['appid'] = '';
$data['cname'] = 'demo';
$data['uid']   = '1000';
$data['time']  = '1440';

$jsonData = json_encode($data);

$ch = curl_init();
curl_setopt($ch,CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERPWD, $userName . ":" . $password);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);

var_dump($result);

結果

{"status":"success","id":2177083}

チャネル利用状況

・Method: GET
・Path: BaseUrl/channel/user/
・Parameters: appid, cname

実装例

getUserInChannel.php
<?php
require 'config.php';

$appId = "";
$cname = "demo";
$url = sprintf("%s/%s/%s/%s/%s",$baseUrl,"channel","user",$appId,$cname);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $userName . ":" . $password);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$result = curl_exec($ch);
curl_close($ch);

var_dump($result);

結果

{"success":true,"data":{"channel_exist":true,"mode":2,"broadcasters":[2461386049,3430352033],"audience":[],"audience_total":0}}
Agora SDK イメージ
Agora SDK

大規模・安価・すぐに使える
ライブ配信・ビデオ通話・音声通話SDK

 

先頭へ戻る