CC雲直播 接口示例

<?php
namespace Common\Model;
use Think\Model;

class GetLiveApiModel extends Model {
    /**
     * CC視頻雲直播接口文檔:https://doc.bokecc.com/live
     */
    protected $user_id = '041CFB5553F****';
    protected $APIKey = 'ClGzgeHWToST****';

    /**
     * 獲取直播間信息
     * @param $id  直播間ID
     * @return array
     */
    public function get_live_info($id){
        $base_url = 'http://api.csslcloud.net/api/room/search';
        $param = [];
        $param['userid'] = $this->user_id;
        $param['roomid'] = $id;
        $QueryString = $this->GetQueryString($param);
        //請求地址
        $request_url = $base_url.'?'.$QueryString;
        $result = json_decode(curl_get($request_url),true);
        $return['status'] = 1;
        $return['msg'] = '獲取成功';
        $return['data'] = $result;
        return $return;
    }

    /**
     * 獲取正在直播的直播間列表
     * @return array
     */
    public function get_live_ing_list(){
        $base_url = 'http://api.csslcloud.net/api/rooms/broadcasting';
        $param = [];
        $param['userid'] = $this->user_id;
        $QueryString = $this->GetQueryString($param);
        //請求地址
        $request_url = $base_url.'?'.$QueryString;
        $result = json_decode(curl_get($request_url),true);
        $return['status'] = 1;
        $return['msg'] = '獲取成功';
        $return['data'] = $result;
        return $return;
    }

    /**
     * 獲取直播間代碼
     * @param $id  直播間ID
     * @return array
     */
    public function get_live_code($id){
        $base_url = 'http://api.csslcloud.net/api/room/code';
        $param = [];
        $param['userid'] = $this->user_id;
        $param['roomid'] = $id;
        $QueryString = $this->GetQueryString($param);
        //請求地址
        $request_url = $base_url.'?'.$QueryString;
        $result = json_decode(curl_get($request_url),true);
        $return['status'] = 1;
        $return['msg'] = '獲取成功';
        $return['data'] = $result;
        return $return;
    }


    /**
     * 獲取Http 通信的字符串
     * @param $param  通信參數
     * @return string
     */
    private function GetQueryString($param){
        //第一步,將上述 QueryString 按照字母順序進行升序排序
        ksort($param);
        $first_value = reset ($param);
        $QueryString = '';
        foreach ($param as $k=>$v){
            if($first_value == $v){
                $QueryString .= $k.'='.urlencode($v);
            }else{
                $QueryString .= '&'.$k.'='.urlencode($v);
            }
        }

        //第二步,附加 time 值和 salt 值
        $time = time();
        $QueryStringHs = $QueryString.'&time='.$time.'&salt='.$this->APIKey;

        //第三步,對上述字符串取 md5 值
        $hash = md5($QueryStringHs);

        //第四步 最終進行 Http 通信的字符串爲
        $QueryString = $QueryString.'&time='.$time.'&hash='.$hash;

        return $QueryString;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章