2022年05月13日

Agora.io Dashboard RESTful APIの利用例

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

資料ダウンロード  【すぐ読める!ガイドブック】ビデオ通話・ライブ配信SDK「Agora」  ビデオ通話やライブ配信の機能をあらゆるアプリケーションに簡単に実装できるSDKの特徴から活用例まで徹底解説! 無料ダウンロード

ソースコード

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 導入事例集  オンラインフィットネス・カウンセリング、音声サービスやファンサービスなど、バラエティに富んだ導入事例をご紹介! 無料ダウンロード
ブイキューブ

執筆者ブイキューブ

Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。

関連記事

先頭へ戻る