API调用签名

一、保利威视的API接口默认不需要对接口调用做签名,如果需要签名访问,需要先在保利威视后台做个设置(注意:如果不需要签名访问,请勿在以下的位置勾选“是”,系统默认为“否”):QQ图片20160621165340

 

参数说明:
设置需要接口签名之后,API接口提交参数需要带一个参数sign,sign是由提交的参数以及secretkey一起做sha1加密得来的。

 

二、以下由上传视频接口为例,需要将提交给POLYV云平台的参数按指定序列和规则合并,再加上利用账号secretkey做sha1运算得到的一个40位的签名字符串作为参数sign,一起提交。如果sign没提交或者不匹配,系统会返回错误提示为error=22。
<?php
function uploadfile($title,$desc,$tag,$cataid,$filename) {
    $JSONRPC = '{"title":"'.$title.'","tag":"'.$tag.'","desc":"'.$desc.'"}';
    $writetoken = 'llIPXyhWzcjRrmW-dT11jFO40E4bDeZU';
    $secretkey = '7UagtQOq2A';
    $hash = sha1('cataid='.$cataid.'&JSONRPC='.$JSONRPC.'&writetoken='.$writetoken.$secretkey);
    //加上sign参数一起提交post
    $data = array(
        'JSONRPC' => $JSONRPC,
        'cataid'=>$cataid,
        'writetoken'=>$writetoken,
        'sign'=>$hash,
        'Filedata'=>new CURLFile(realpath($filename))
    );
    $uri = "http://v.polyv.net/uc/services/rest?method=uploadfile";
    $ch = curl_init() or die ( curl_error() );
    curl_setopt( $ch, CURLOPT_URL, $uri);
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
    $reponse = curl_exec ( $ch );
    curl_close ( $ch );
    $reponse = json_decode($reponse);
    return $reponse;
}

$result = uploadfile('myTitle','myDesc','myTag',1,'E:\\1.mp4'); //cataid为1,表示用户上传空间的根目录
var_dump($result);
?>

 

三、整个API调用签名的过程是:使用服务器端开发语言对这些参数按照规则排序后,再加上secretkey做sha1计算得到sign,然后把sign和API的其他上传参数一起提交到保利威视云平台。
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...