接口URL
https://api.polyv.net/v2/video/snapshot/{userid}/getTaskStatus
接口说明
(接口调用有频率限制,详细请查看)
接口用于获取截图任务的状态
返回结果支持格式
JSON
请求方式
GET
请求参数
参数名 | 必选 | 类型及范围 | 说明 |
---|---|---|---|
userid | true | string | 用户id,路径参数 |
ptime | true | string | 当前13位毫秒级时间戳,3分钟内有效 |
sign | true | string | 签名,40位大写的sha1值 |
taskId | true | long | 任务id |
返回结果
{
"code": 200,
"status": "success",
"message": "success",
"data": {
"taskId": 17,
"vid": "b0f70413240f0e57898ad2682071d456_b",
"status": "success",
"createTime": 1554997808000,
"beginProcessTime": 1554997812000,
"finishProcessTime": 1554997816000,
"snapshots": [
{
"offsetTime": 0,
"imageUrl": "http://vod-assets.videocc.net/snapshot/b0f7041324/b0f70413240f0e57898ad2682071d456/0.jpg"
},
{
"offsetTime": 5,
"imageUrl": "http://vod-assets.videocc.net/snapshot/b0f7041324/b0f70413240f0e57898ad2682071d456/5.jpg"
}
]
}
}
失败返回json(不带jsonp)
{
"code": 400,
"status": "error",
"message": "ptime is too old.",
"data": ""
}
字段描述
字段名称 | 描述 |
---|---|
taskId | 任务id |
vid | 视频vid |
status | 任务状态,waiting-等待截图,processing-截图处理中,success-任务成功,fail-任务失败 |
createTime | 任务创建时间,13位时间戳 |
beginProcessTime | 开始截图的时间,13位时间戳,未开始为0 |
finishProcessTime | 完成截图的时间,13位时间戳,未完成为0 |
snapshots | 截图信息数组,失败或未开始时为空数组 |
offsetTime | 截图时间点 |
imageUrl | 截图访问的url |
响应说明
错误代码 | message | 说明 |
---|---|---|
400 | sign can not be empty. | 加密串为空 |
400 | vid invalid. | 视频vid错误 |
400 | ptime is too old. | 时间戳过期 |
400 | ptime is illegal. | 时间戳参数格式不对或者超过当前时间3分钟 |
400 | Could not find user by userid. | userid不存在 |
400 | the sign is not right. | 加密串不正确 |
400 | task not found | 任务不存在 |
PHP请求示例
<?php
header("Content-type: text/html; charset=utf-8");
$userid="用户id";
$secretkey="用户secretkey";
$params = array(
'ptime' => time()*1000,
'taskId' => 3
);
# 创建排序后的字典
foreach ($params as $key=>$value){
$arr[$key] = $key;
}
sort($arr);
$str='';
$length=count($arr);
foreach ($arr as $k => $v) {
$str = $str.$v.'='.$params[$v];
if($k < $length-1) {
$str = $str.'&';
}
}
$hash=strtoupper(sha1($str.$secretkey));
$params['sign']=$hash;
$url="http://api.polyv.net/v2/video/snapshot/${userid}/getTaskStatus?".http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);
?>
签名规则:
将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:
1、请求参数为
ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"
format = "json"
2、将请求参数按照参数名字典顺序排列
format = "json"
ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"
3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:
format=json&ptime=1492591990000&vid=382839019131be68715e9455f8d0971a_3tIQp4ATe9Z
4、生成签名sign
50BF9B165630A8047EB1D17D95A469CC51FF754E