服务器API
1.平台API的相关参数
useId:用于保利威视服务器与您的服务器进行通讯的时候的身份验证
readtoken:读密钥,用来从保利威视服务器上读取数据
writetoken:写密钥,用来向保利威视服务器上写入数据
secretkey:调用保利威视的API接口做签名访问时要用到
要获取到userId、writetoken、readtoken、secretkey这四个参数的值,可以在顶部功能列表的右侧点击“设置”—点击“API接口”。调用平台API接口的时候,有时候会需要用到这四个参数中的一个或多个值。
2.分类的相关参数
catatree:分类树
cataid:视频分类的id
(1)分类树catatree:在顶部功能列表的点击“视频列表”—点击“视频分类管理”—选中某一个分类(比如“第二册上”)。
(2)视频分类cataid:在顶部功能列表的点击“视频管理”—点击“视频分类管理”—选中某一个分类(比如“第二册上”),最右边的那个字符串就是视频分类的id。
3.API调用签名
(1)酷播云的API接口默认不需要对接口调用做签名,如果需要签名访问,需要先在酷播云后台做个设置(注意:如果不需要签名访问,请勿在以下的位置勾选“是”,系统默认为“否”)。
参数说明:
设置需要接口签名之后,API接口提交参数需要带一个参数sign,sign是由提交的参数以及secretkey一起做sha1加密得来的。
(2)以下由上传视频接口为例,需要将提交给酷播云平台的参数按指定序列和规则合并,再加上利用账号secretkey做sha1运算得到的一个40位的签名字符串作为参数sign,一起提交。如果sign没提交或者不匹配,系统会返回错误提示为error=22。
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);
?>
(3)整个API调用签名的过程是:使用服务器端开发语言对这些参数按照规则排序后,再加上secretkey做sha1计算得到sign,然后把sign和API的其他上传参数一起提交到酷播云平台。