Agora Go Real

{{ page_meta.name }}|{{ group.public_title }}|{{ site_settings.logo_alt }}

作成者: ブイキューブ|May 13, 2022 6:45:47 AM

ソースコード

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