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具体元素内容如下:
创建时间,格式:yyyy-MM-dd HH:mm:ss【对应api文档的date字段】
2、设置视频的播放器
描述
设置视频的播放器
接口地址(仅做说明使用):https://api.polyv.net/v2/play/set-video-player
调用约束
单元测试
@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. ]
请求入参描述
返回对象描述
null
3、获取Playsafe Token
描述
通过用户id与视频id获取播放凭证,用于播放加密视频
接口地址(仅做说明使用):https://hls.videocc.net//service/v1/token
调用约束
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. ]
请求入参描述
视频ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
观看者IP,如果为空,会自动获取调用该接口时的IP
token 有效时长,单位为秒。为空时默认为10分钟
token有效期,true表示token仅一次有效(验证一次后,token就失效了),false表示在有效期内可以进行多次验证。默认为false
是否微信小程序播放,1为是,0为否。默认为0【对应api文档的iswxa字段】
返回对象描述
视频ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
观看者IP,如果为空,或自动获取调用该接口时的IP
是否微信小程序播放,1为是,0为否【对应api文档的iswxa字段】
token有效期,true表示token仅一次有效(验证一次后,token就失效了),false表示在有效期内可以进行多次验证
4、查询播放域名限制设置
描述
通过用户id查询播放域名限制设置
接口地址(仅做说明使用):https://api.polyv.net/v2/play/%s/domain
调用约束
单元测试
@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. ]
请求入参描述
此方法采用系统全局配置,不需要显式传递参数
返回对象描述
限制类型,0:无域名限制,1:黑名单,2:白名单,3:白名单和黑名单复合限制
禁止播放的域名(黑名单),多个域名以英文逗号分隔,在settingType = 1时有效
可以播放的域名(白名单),多个域名以英文逗号分隔,在settingType = 2时有效
5、修改播放域名限制设置
描述
通过域名修改播放域名限制设置
接口地址(仅做说明使用):https://api.polyv.net/v2/play/%s/domain
调用约束
单元测试
@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. ]
请求入参描述
限制类型,0:无域名限制,1:黑名单,2:白名单,3:白名单和黑名单复合限制
禁止播放的域名(黑名单),多个域名以英文逗号分隔,在settingType = 1时有效
返回对象描述
null