Player Settings Service

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

Last updated