保利威文档中心

幫助中心

取得影片播放憑證

更新時間:2024-08-05 16:37:36

介面說明

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

線上API呼叫

請求方式

POST

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
2、該介面目前僅支援子帳號。若要為主帳戶建立憑證token,可參考【取得影片播放憑證

請求參數說明刪除影片

參數名 必選 類型 說明
appId true String 保利威點播子帳戶appId,取得路徑:保利威點播後台->設定->帳號管理
ts true Long 目前的時間,13位毫秒級時間戳記,10分鐘內有效,例如:1617863545204
sign true String 簽名,32位大寫MD5值【詳見MD5簽名產生規則
videoId true String 影片的id,取得路徑:保利威點播後台->影片列表;
也可以取得自【上傳影片】;
例如:1b448be32370f4822ac40fd926112a66_1
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

回應參數說明

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data Object 回應成功時返回播放憑證的詳細資訊【詳見data欄位說明】,回應失敗時返回錯誤原因

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."
}
联系客服,在线咨询