获取视频播放凭证
接口描述
1、通过子账号id和视频id,创建加密视频的播放凭证,即 Playsafe Token
2、如果一个凭证token尚未过期,此时使用相同的 videoId、viewerId、viewerIp、iswxa 参数值请求该接口,
会复用原来的凭证token,并延长原凭证token的有效期
3、接口支持https协议
接口URL
http://hls.videocc.net/service/v2/token/create-child
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看 2、该接口目前仅支持子账号。如果要为主帐户创建凭证token ,可以参考【获取视频播放凭证】
请求参数描述删除视频
appId
true
String
保利威点播子账户appId,获取路径:保利威点播后台->设置->账号管理
ts
true
Long
当前的时间,13位毫秒级时间戳,10分钟内有效,例如:1617863545204
viewerId
true
String
观看者id,要求不同的观看者使用不同的id,由数字字母组成
viewerIp
false
String
观看者ip,如果为空,会自动获取调用该接口时的ip
viewerName
false
String
观看者名称
expires
false
Long
播放凭证token的有效时长,单位为秒。为空时默认为10分钟
disposable
false
Boolean
播放凭证token是否一次有效,默认为 false true:表示凭证token仅一次有效,即验证一次后,凭证token就失效了 false:表示在有效期内可以多次验证
iswxa
false
Integer
是否微信小程序播放,默认为0 1:是 0:否
extraParams
false
String
自定义的其它参数
securitySeed
false
String
私有加密视频自定义token加密因子, 用于提高视频播放的安全性, 需搭配指定的播放器使用, 详细使用规则请咨询保利威客服
示例
http://hls.videocc.net/service/v2/token/create-child
表单参数:
viewerName=%E8%A7%82%E7%9C%8B%E8%80%85%E6%98%B5%E7%A7%B0&expires=10000&viewerId=ovtl9t_RxnrTdqkXqkT5Q5lnxp2A&appId=a0Wmol5EwX&viewerIp=59.41.20.74&sign=6804C5B24FED47E49776C2CB85823316&videoId=1b448be32370f4822ac40fd926112a66_1&extraParams=ddd&iswxa=1&disposable=true&ts=1617936971500
响应参数描述
data字段说明
token
String
视频播放凭证
userId
String
保利威点播账户id
appId
String
子账号appId
videoId
String
视频id
viewerIp
String
观看者ip
viewerId
String
观看者id
viewerName
String
观看者名称
extraParams
String
自定义的其它参数
ttl
Long
凭证token 有效时长,单位为毫秒
createdTime
Long
凭证token 创建时间
expiredTime
Long
凭证token 过期时间
iswxa
Integer
是否微信小程序播放 1:是 0:否
disposable
Boolean
播放凭证token是否一次有效 true:表示凭证token仅一次有效,即验证一次后,凭证token就失效了 false:表示在有效期内可以多次验证
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 VodSignUtil.java 都包含在下载文件中。
强烈建议您使用点播Java SDK完成API的功能对接,点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(VodSubAccountTest.class);
/**
* 获取视频播放凭证
* @throws Exception
* @throws NoSuchAlgorithmException
*/
@Test
public void testCreateSubToken() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String ts = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://hls.videocc.net/service/v2/token/create-child";
String videoId = "1b448be32370f4822ac40fd926112a66_1";
String viewerId = "ovtl9t_RxnrTdqkXqkT5Q5lnxp2A";
String viewerIp = "59.41.20.74";
String viewerName = "观看者昵称";
String expires = "10000";
String disposable = "true";
String isWXa = "1";
String extraParams = "ddd";
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("videoId", videoId);
requestMap.put("ts", ts);
requestMap.put("viewerId", viewerId);
requestMap.put("viewerIp", viewerIp);
requestMap.put("viewerName", viewerName);
requestMap.put("expires", expires);
requestMap.put("disposable", disposable);
requestMap.put("iswxa", isWXa);
requestMap.put("extraParams", extraParams);
//用md5进行签名,使用子账号的secretKey签名
requestMap.put("sign", VodSignUtil.getSignMd5(requestMap, appSecret));
String response = HttpUtil.postFormBody(url, requestMap);
log.debug("测试获取视频播放凭证,{}", response);
//do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例
{
"code": 200,
"status": "success",
"message": "",
"data": {
"token": "783428b1-8b92-4c56-b255-9e14214b75b9-eesrv9rRagxTktuXtuT8Q8vgaf2A",
"userId": "1b448be323",
"appId": "a0Wmol5EwX",
"videoId": "1b448be32370f4822ac40fd926112a66_1",
"viewerIp": "59.41.20.74",
"viewerId": "ovtl9t_RxnrTdqkXqkT5Q5lnxp2A",
"viewerName": "观看者昵称",
"extraParams": "ddd",
"ttl": 10000000,
"createdTime": 1617936972611,
"expiredTime": 1617946972611,
"iswxa": 1,
"disposable": true
}
}
异常示例
{
"code": 403,
"status": "error",
"message": "sign_not_found",
"data": "sign parameter not found."
}
Last updated
Was this helpful?