playerSettingsService
1、查詢使用者下所有播放器列表
描述
查询用户下所有播放器列表
接口地址(仅做说明使用):https://api.polyv.net/v2/play/%s/player-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetPlayerList() throws IOException, NoSuchAlgorithmException {
VodGetPlayerListRequest vodGetPlayerListRequest = new VodGetPlayerListRequest();
List<VodGetPlayerListResponse> vodGetPlayerListResponseList = null;
try {
vodGetPlayerListResponseList = new VodPlayerSettingsServiceImpl().getPlayerList(vodGetPlayerListRequest);
Assert.assertNotNull(vodGetPlayerListResponseList);
if (vodGetPlayerListResponseList != null) {
log.debug("测试查询用户下所有播放器列表成功,{}", JSON.toJSONString(vodGetPlayerListResponseList));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳VodGetPlayerListResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
此方法採用系統全域配置,不需要顯式傳遞參數
回傳物件描述
回傳物件是List<VodGetPlayerListResponse>,VodGetPlayerListResponse具體元素內容如下:
| 參數名 | 類型 | 說明 |
|---|---|---|
| playerName | String | 播放器名稱 |
| playerId | String | 播放器id |
| createTime | Date | 建立時間,格式:yyyy-MM-dd HH:mm:ss【對應api文件的date欄位】 |
| isDefault | Integer | 是否為預設播放器,是:1, 否:0 |
2、設定影片的播放器
描述
设置视频的播放器
接口地址(仅做说明使用):https://api.polyv.net/v2/play/set-video-player
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testSetVideoPlayer() throws IOException, NoSuchAlgorithmException {
VodSetVideoPlayerRequest vodSetVideoPlayerRequest = new VodSetVideoPlayerRequest();
Boolean vodSetVideoPlayerResponse = null;
try {
vodSetVideoPlayerRequest.setVideoId(super.getTestVideoId()).setPlayerId("MDL7ARoayp");
vodSetVideoPlayerResponse = new VodPlayerSettingsServiceImpl().setVideoPlayer(vodSetVideoPlayerRequest);
Assert.assertTrue(vodSetVideoPlayerResponse);
if (vodSetVideoPlayerResponse) {
log.debug("设置视频的播放器成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳Boolean物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應api文件的vid欄位】 |
| playerId | true | String | 播放器ID |
回傳物件描述
null
3、取得Playsafe Token
描述
通过用户id与视频id获取播放凭证,用于播放加密视频
接口地址(仅做说明使用):https://hls.videocc.net//service/v1/token
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、如果一個token(播放憑證)尚未過期,此時使用相同的 videoId、viewerId、viewerIp、isWxa 參數值請求該介面,則會複用原來的token,並延長原token的有效期。
單元測試
@Test
public void testGetPlaySafeToken() throws IOException, NoSuchAlgorithmException {
VodGetPlaySafeTokenRequest vodGetPlaySafeTokenRequest = new VodGetPlaySafeTokenRequest();
VodGetPlaySafeTokenResponse vodGetPlaySafeTokenResponse = null;
try {
vodGetPlaySafeTokenRequest.setVideoId("1b448be323b68b2999802799a98dba54_1")
.setViewerId("testViewerId")
.setViewerIp(super.getRandomIp())
.setViewerName("TestViewName")
.setExpires(Long.parseLong("60"))
.setDisposable(Boolean.TRUE)
.setIsWxa(0);
vodGetPlaySafeTokenResponse = new VodPlayerSettingsServiceImpl().getPlaySafeToken(
vodGetPlaySafeTokenRequest);
Assert.assertNotNull(vodGetPlaySafeTokenResponse);
if (vodGetPlaySafeTokenResponse != null) {
log.debug("测试获取Playsafe Token成功,{}", JSON.toJSONString(vodGetPlaySafeTokenResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳VodGetPlaySafeTokenResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e |
| viewerId | true | String | 觀看者ID,要求不同的觀看者使用不同的ID |
| viewerIp | false | String | 觀看者IP,如果為空,會自動取得呼叫該介面時的IP |
| viewerName | false | String | 觀看者名稱 |
| expires | false | Long | token 有效時長,單位為秒。為空時預設為10分鐘 |
| disposable | false | Boolean | token有效期,true表示token僅一次有效(驗證一次後,token就失效了),false表示在有效期內可以進行多次驗證。預設為false |
| isWxa | false | Integer | 是否微信小程式播放,1為是,0為否。預設為0【對應api文件的iswxa欄位】 |
| extraParams | false | String | 自訂的其它參數 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| token | String | token(播放憑證) |
| userId | String | 使用者ID |
| videoId | String | 影片ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e |
| viewerIp | String | 觀看者IP,如果為空,或自動取得呼叫該介面時的IP |
| viewerId | String | 觀看者ID,要求不同的觀看者使用不同的ID |
| viewerName | String | 觀看者名稱 |
| extraParams | String | 自訂的其它參數 |
| ttl | Long | token 有效時長,單位為毫秒 |
| createdTime | Date | token 建立時間 |
| expiredTime | Date | token 過期時間 |
| isWxa | Integer | 是否微信小程式播放,1為是,0為否【對應api文件的iswxa欄位】 |
| disposable | Boolean | token有效期,true表示token僅一次有效(驗證一次後,token就失效了),false表示在有效期內可以進行多次驗證 |
4、查詢播放域名限制設定
描述
通过用户id查询播放域名限制设置
接口地址(仅做说明使用):https://api.polyv.net/v2/play/%s/domain
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetPlayDomain() throws IOException, NoSuchAlgorithmException {
VodGetPlayDomainRequest vodGetPlayDomainRequest = new VodGetPlayDomainRequest();
VodGetPlayDomainResponse vodGetPlayDomainResponse = null;
try {
vodGetPlayDomainResponse = new VodPlayerSettingsServiceImpl().getPlayDomain(vodGetPlayDomainRequest);
Assert.assertNotNull(vodGetPlayDomainResponse);
if (vodGetPlayDomainResponse != null) {
log.debug("测试查询播放域名限制设置成功,{}", JSON.toJSONString(vodGetPlayDomainResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳VodGetPlayDomainResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
此方法採用系統全域配置,不需要顯式傳遞參數
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| userid | String | 使用者ID |
| settingType | Integer | 限制類型,0:無域名限制,1:黑名單,2:白名單,3:白名單和黑名單複合限制 |
| disableHost | String | 禁止播放的域名(黑名單),多個域名以英文逗號分隔,在settingType = 1時有效 |
| enableHost | String | 可以播放的域名(白名單),多個域名以英文逗號分隔,在settingType = 2時有效 |
5、修改播放域名限制設定
描述
通过域名修改播放域名限制设置
接口地址(仅做说明使用):https://api.polyv.net/v2/play/%s/domain
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdatePlayDomain() throws IOException, NoSuchAlgorithmException {
VodUpdatePlayDomainRequest vodUpdatePlayDomainRequest = new VodUpdatePlayDomainRequest();
Boolean vodUpdatePlayDomainResponse = null;
try {
vodUpdatePlayDomainRequest.setSettingType(1).setHost("www.baidu.com");
vodUpdatePlayDomainResponse = new VodPlayerSettingsServiceImpl().updatePlayDomain(
vodUpdatePlayDomainRequest);
Assert.assertTrue(vodUpdatePlayDomainResponse);
if (vodUpdatePlayDomainResponse) {
log.debug("测试修改播放域名限制设置成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳Boolean物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| settingType | true | Integer | 限制類型,0:無域名限制,1:黑名單,2:白名單,3:白名單和黑名單複合限制 |
| host | false | String | 禁止播放的域名(黑名單),多個域名以英文逗號分隔,在settingType = 1時有效 |
回傳物件描述
null
