6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

agora.io Dashboard RESTful APIの利用例

Last updated at Posted at 2019-01-22

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

#ソースコード
Githubに公開しています

#認証について
APIの認証はBasic認証で行います。ユーザー名,パスワードはダッシュボード上から取得できます。
スクリーンショット_0031-01-22_15_22_51.png

#実装例
##基本設定

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}

チャネルに参加中であれば、APIをコールした時点で追い出しが発生します。

##チャネル利用状況

・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.ioに関するお問い合わせはこちらから
スクリーンショット 0001-08-15 13.41.56.png

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?