保利威文档中心

幫助中心

playerSettingsService

更新時間:2023-09-22 17:47:34

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

联系客服,在线咨询