2022年05月13日

Agora.io Dashboard RESTful APIの利用例

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}}
    

ガイドブックダウンロード

【すぐ読める!ガイドブック】ビデオ通話・ライブ配信SDK「Agora」

【大充実】通話・配信SDK「Agora」ガイドブック

通話・配信サービス開発や、配信技術のリプレイスを検討中の方、必見の内容です。
Agora SDKの特徴から活用例まで徹底解説!

無料ダウンロード
ブイキューブ

執筆者ブイキューブ

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

関連記事

先頭へ戻る