channelOperate
1、建立頻道
描述
创建一个直播频道,返回直播频道相关的基础信息。
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelV2() throws Exception, NoSuchAlgorithmException {
LiveChannelV2Request liveChannelRequest = new LiveChannelV2Request();
LiveChannelV2Response liveChannelResponse = null;
try {
liveChannelRequest.setName("gateway 从入门到精通")
.setNewScene(LiveConstant.NewSceneType.ALONE.getCode())
.setTemplate("alone")
.setCategoryId(391352)
.setSeminarAttendeePassword(super.getRandomString(6))
.setSeminarHostPassword(super.getRandomString(7))
.setEndTime(super.getDate(2034,11,11))
.setOnlyOneLiveEnabled("N");
liveChannelResponse = new LiveChannelOperateServiceImpl().createChannelV2(liveChannelRequest);
Assert.assertNotNull(liveChannelResponse);
if (liveChannelResponse != null) {
//to do something ......
log.debug("频道创建成功{}", JSON.toJSONString(liveChannelResponse));
log.debug("网页开播地址:https://live.polyv.net/web-start/login?channelId={}",
liveChannelResponse.getChannelId());
log.debug("网页观看地址:https://live.polyv.cn/watch/{} ", liveChannelResponse.getChannelId());
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.deleteChannel(liveChannelResponse.getChannelId());
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelV2Response 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 直播名稱,最大長度100 |
| newScene | true | String | 直播場景 (topclass-大班課、double-雙師課(該場景需開通)、train-企業培訓、seminar-研討會、alone-活動行銷) |
| template | true | String | 直播模板 (ppt-三分屏(橫向)、portrait_ppt-三分屏(直向)、alone-純影片(橫向)、portrait_alone-純影片(直向)、topclass-純影片-極速(橫向)、portrait_topclass-純影片-極速(直向)、seminar-研討會、guide(導播,該場景需開通)) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train、guide或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar |
| channelPasswd | false | String | 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成 |
| seminarHostPassword | false | String | 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。 |
| seminarAttendeePassword | false | String | 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。 |
| pureRtcEnabled | false | String | 直播延遲 Y無延遲 N普通延遲 |
| type | false | String | 轉播類型 normal不開啟、transmit發起轉播、receive接收轉播(該功能需開通) |
| doubleTeacherType | false | String | 線上雙師 transmit大房間、receive小房間 |
| cnAndEnLiveEnabled | false | String | 中英雙語直播開關 Y開、N關 |
| splashImg | false | String | 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| linkMicLimit | false | Integer | 連麥人數限制,最多16人。為0表示關閉連麥。 該值為空時,則預設使用帳號的最大連麥人數(可聯繫業務修改) |
| categoryId | false | Integer | 分類ID,可透過「查詢直播分類」介面取得 |
| startTime | false | Date | 開始時間,格式:yyyy-MM-dd HH:mm:ss【註:僅做直播前倒數計時顯示,不對講師開播操作產生影響】 |
| endTime | false | Date | 結束時間,格式:yyyy-MM-dd HH:mm:ss【註:僅做未開播時直播狀態判斷顯示,不對講師開播操作產生影響】 |
| subAccount | false | String | 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得 |
| onlyOneLiveEnabled | false | String | 頻道僅可上下課一次(已經結束直播的頻道不可以再發起直播) Y:開啟,N:關閉,預設為N |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道ID |
| userId | String | POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定) |
| channelPasswd | String | 講師登入密碼,直播場景非研討會時不為 null,長度 6-16 位 |
| seminarHostPassword | String | 研討會主持人密碼,僅直播場景為研討會時不為 null,長度 6-16 位 |
| seminarAttendeePassword | String | 研討會與會者密碼,僅直播場景為研討會時不為 null,長度 6-16 位 |
2、批次建立頻道
描述
批量创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-batch
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelListV2() throws IOException, NoSuchAlgorithmException {
LiveCreateChannelListV2Request liveCreateChannelListV2Request = new LiveCreateChannelListV2Request();
List<LiveCreateChannelListV2Response> liveCreateChannelListV2Response;
try {
List<LiveCreateChannelListV2Request.ChannelV2CreateBatch> channelV2CreateBatch = new ArrayList<>();
channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
.name("测试批量创建频道1(可删)")
.newScene(LiveConstant.NewSceneType.ALONE.getCode())
.template(LiveConstant.Template.ALONE.getCode())
.channelPasswd(super.getRandomString(8))
.pureRtcEnabled(LiveConstant.Flag.YES.getFlag())
.categoryId(391352)
.linkMicLimit(2)
.startTime(super.getDate(System.currentTimeMillis() + 600 * 1000))
.build());
channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
.name("测试批量创建频道2(可删)")
.newScene(LiveConstant.NewSceneType.SEMINAR.getCode())
.template(LiveConstant.Template.SEMINAR.getCode())
.seminarHostPassword(super.getRandomString(8))
.seminarAttendeePassword(super.getRandomString(8))
.categoryId(391352)
.subAccount("test-dev@qq.com")
.build());
liveCreateChannelListV2Request.setChannels(channelV2CreateBatch);
liveCreateChannelListV2Response = new LiveChannelOperateServiceImpl().createBatchV2(
liveCreateChannelListV2Request);
Assert.assertNotNull(liveCreateChannelListV2Response);
if (liveCreateChannelListV2Response != null) {
//to do something ......
log.debug("测试批量创建频道成功{}", JSON.toJSONString(liveCreateChannelListV2Response));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
liveCreateChannelListV2Response.stream()
.forEach(channel -> super.tryDeleteChannel(channel.getChannelId()));
}
} 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、請求正確,回傳 LiveCreateChannelListV2Response 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channels | true | Array | 批次建立頻道請求體【詳見ChannelV2CreateBatch參數說明】 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
ChannelV2CreateBatch參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 直播名稱,最大長度100 |
| newScene | true | String | 直播場景 (topclass-大班課 、 double-雙師課(該場景需開通) 、 train-企業培訓 、 seminar-研討會 、 alone-活動行銷) |
| template | true | String | 直播模板 (ppt-三分屏(橫向) 、 portrait_ppt-三分屏(直向) 、 alone-純影片(橫向) 、portrait_alone-純影片(直向) 、 topclass-純影片-極速(橫向) 、 portrait_topclass-純影片-極速(直向) 、 seminar-研討會) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar |
| channelPasswd | false | String | 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成 |
| seminarHostPassword | false | String | 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。 |
| seminarAttendeePassword | false | String | 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼和與會人密碼不能相同。 |
| pureRtcEnabled | false | String | 直播延遲 Y無延遲 N普通延遲 |
| type | false | String | 轉播類型 normal不開啟、transmit發起轉播、receive接收轉播(該功能需開通),部分直播場景不支援轉播設定,具體請閱讀介面約束 |
| doubleTeacherType | false | String | 線上雙師 transmit大房間、receive小房間 |
| cnAndEnLiveEnabled | false | String | 中英雙語直播開關 Y開、N關 |
| splashImg | false | String | 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| linkMicLimit | false | Integer | 連麥人數限制,最多16人 |
| categoryId | false | Integer | 分類ID,可透過「查詢直播分類」介面取得 |
| startTime | false | Date | 開始時間 |
| subAccount | false | String | 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得 |
回傳物件描述
回傳物件為 List<LiveCreateChannelListV2Response>,LiveCreateChannelListV2Response 具體元素內容如下:
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道ID |
| userId | String | 驗證資訊 |
| scene | String | 直播場景 |
| channelPasswd | String | 講師登入密碼,非研討會場景使用,長度6-16位 |
| seminarHostPassword | String | 研討會主持人密碼,僅直播場景為研討會時回傳,長度6-16位 |
| seminarAttendeePassword | String | 研討會與會者密碼,僅直播場景為研討會時回傳,長度6-16位 |
3、建立並初始化頻道
描述
根据请求参数与默认模板创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-init
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelInitV2() throws IOException, NoSuchAlgorithmException {
LiveChannelInitV2Request liveChannelInitV2Request = new LiveChannelInitV2Request();
LiveChannelInitV2Response liveChannelInitV2Response;
try {
//基础信息
LiveChannelInitV2Request.BasicSetting basicSetting = new LiveChannelInitV2Request.BasicSetting().setName(
"创建并初始化新版后台频道-验证码观看")
.setChannelPasswd(getRandomString(6))
.setNewScene(LiveConstant.NewSceneType.TOPCLASS.getCode())
.setTemplate(LiveConstant.Template.PPT.getCode())
.setCategoryId(391352)
.setDescription("这是一个描述")
.setLinkMicLimit(1)
.setSubAccount("test-dev@qq.com");
liveChannelInitV2Request.setBasicSetting(basicSetting);
//主要观看条件 验证码观看
LiveChannelInitV2Request.MasterAuthSetting masterAuthSetting =
new LiveChannelInitV2Request.MasterAuthSetting().setAuthType(
LiveConstant.AuthType.CODE.getDesc())
.setEnabled("Y")
.setAuthCode("123456")
.setQCodeTips("提示文案")
.setQCodeImg("https://live.polyv.net/static/images/live-header-logo.png");
liveChannelInitV2Request.setMasterAuthSetting(masterAuthSetting);
//回放设置
LiveChannelInitV2Request.PlaybackSetting playbackSetting = new LiveChannelInitV2Request.PlaybackSetting();
playbackSetting.setPlaybackEnabled("N");
liveChannelInitV2Request.setPlaybackSetting(playbackSetting);
//设置角色
LiveChannelInitV2Request.Roles assistantRole = new LiveChannelInitV2Request.Roles();
assistantRole.setNickName("孙助教").setActor("助教").setPasswd(getRandomString(6)).setRole("Assistant");
LiveChannelInitV2Request.Roles guestRole = new LiveChannelInitV2Request.Roles();
guestRole.setNickName("赵嘉宾").setActor("嘉宾").setPasswd(getRandomString(6)).setRole("Guest");
List<LiveChannelInitV2Request.Roles> roles = new ArrayList<>();
roles.add(assistantRole);
roles.add(guestRole);
liveChannelInitV2Request.setRoles(roles);
liveChannelInitV2Response = new LiveChannelOperateServiceImpl().createChannelInitV2(
liveChannelInitV2Request);
Assert.assertNotNull(liveChannelInitV2Response);
if (liveChannelInitV2Response != null) {
//to do something ......
log.debug("测试创建并初始化频道(新版后台)成功 {}", JSON.toJSONString(liveChannelInitV2Response));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.tryDeleteChannel(liveChannelInitV2Response.getChannelId());
}
} 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、請求正確,回傳 LiveChannelInitV2Response 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| basicSetting | true | BasicSetting | 頻道基礎資訊【詳見BasicSetting參數說明】 |
| masterAuthSetting | false | MasterAuthSetting | 主要觀看條件,不傳該欄位,將按照預設模板設定值。【詳見MasterAuthSetting參數說明】 |
| playbackSetting | false | PlaybackSetting | 回放設定,不傳該欄位,將按照預設模板設定值。【詳見PlaybackSetting參數說明】 |
| roles | false | Array | 角色設定,包括講師、助教、嘉賓。 不傳該欄位,將按照預設模板設定角色資訊。 傳入該欄位,不設定講師,將按照預設模板設定講師資訊。 傳入該欄位,不設定助教、嘉賓將不建立。最多設定10個角色【詳見Roles參數說明】 |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
BasicSetting參數描述
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 直播名稱,最大長度50 |
| newScene | true | String | 直播場景 (topclass-大班課 、 double-雙師課(該場景需開通) 、 train-企業培訓 、 seminar-研討會 、 alone-活動行銷) |
| template | false | String | 直播模板 (ppt-三分屏(橫向) 、 portrait_ppt-三分屏(直向) 、 alone-純影片(橫向) 、portrait_alone-純影片(直向) 、 topclass-純影片-極速(橫向) 、 portrait_topclass-純影片-極速(直向) 、 seminar-研討會) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar |
| channelPasswd | false | String | 講師登入密碼,直播場景不是研討會時有效,長度6-16位,不傳則由系統隨機生成 |
| seminarHostPassword | false | String | 研討會主持人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成 |
| seminarAttendeePassword | false | String | 研討會與會人密碼,僅直播場景是研討會時有效,長度6-16位,不傳則由系統隨機生成 |
| categoryId | false | Integer | 分類ID |
| startTime | false | Date | 直播開始時間 |
| pureRtcEnabled | false | String | 無延遲直播開關,Y:開啟,N:關閉 |
| type | false | String | 頻道類型 發起轉播:transmit 接收轉播:receive 一般頻道:normal |
| doubleTeacherType | false | String | 線上雙師房間類型 transmit大房間、receive小房間 |
| cnAndEnLiveEnabled | false | String | 中英雙語直播開關Y開、N關 |
| linkMicLimit | false | Integer | 連線人數限制,最多16人 |
| description | false | String | 直播介紹,最多1024字元長度 |
| logoImg | false | String | 直播logo圖片 |
| splashImg | false | String | 引導頁圖片位址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| coverImg | false | String | 播放器封面圖片,沒有直播和回放的時候顯示 |
| subAccount | false | String | 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得 |
| watchLangType | false | String | 觀看頁語言(zh_CN:中文/en:英文 /ja:日文 /ko:韓文 /zh_TW:繁體中文 /follow_browser:跟隨瀏覽器) |
| allowSwitchLangEnabled | false | String | 允許觀眾切換語言開關 Y:允許 N:不允許 |
MasterAuthSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| enabled | true | String | 是否開啟觀看條件 Y:開啟 N:關閉 |
| authType | false | String | 觀看條件類型 code:驗證碼觀看 pay:付費觀看 custom:自訂授權觀看 external:外部授權觀看 direct:獨立授權觀看 |
| authCode | false | String | authType為code時,設定參數,必填。觀看驗證碼,長度不超過8位 |
| codeAuthTips | false | String | authType為code時,設定參數,非必填。歡迎標題,長度不超過20位,預設:歡迎觀看本次直播 |
| qCodeTips | false | String | authType為code時,設定參數,非必填。驗證碼提示文案,長度不超過30位,預設:掃描二維碼獲得驗證碼 |
| qCodeImg | false | String | authType為code時,設定參數,非必填。二維碼圖片地址 |
| payAuthTips | true | String | 當authType為pay時,設定參數,必填。歡迎語標題,長度不超過20位 |
| price | true | Float | 當authType為pay時,設定參數,必填。價格,單位為元 |
| watchEndTime | false | Date | 當authType為pay時,設定參數,非必填。付費有效截止日期 |
| validTimePeriod | false | Integer | 當authType為pay時,設定參數,非必填。付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| customKey | true | String | 當authType為custom時,設定參數,必填。SecretKey,長度不超過10位 |
| customUri | true | String | 當authType為custom時,設定參數,必填。自訂url |
| externalKey | true | String | 當authType為external時,設定參數,必填。SecretKey,長度不超過10位 |
| externalUri | true | String | 當authType為external時,設定參數,必填。自訂url |
| externalRedirectUri | false | String | 當authType為external時,設定參數,非必填。失敗跳轉地址 |
| externalEntryText | false | String | 當authType為external時,設定參數,非必填。入口文字,預設為:登入觀看 |
| directKey | true | String | 當authType為direct時,設定參數,必填。獨立授權SecretKey,長度不超過10位 |
PlaybackSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| playbackEnabled | false | String | 回放開關 Y:開啟 N:關閉 |
| sectionEnabled | false | String | 回放設定,章節開關 Y:開啟 N:關閉 |
| type | false | String | 回放方式 single:單一回放 list:列表回放 |
| origin | false | String | 回放來源 record:暫存 playback:回放列表 註:type為single時,該值只能為record;type為list時,該值只能為playback或vod; |
Roles參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| role | true | String | 角色類型 Teacher:講師 Assistant:助教 Guest:嘉賓 |
| nickName | false | String | 角色暱稱 |
| actor | false | String | 角色頭銜 |
| passwd | false | String | 角色密碼,密碼長度6-16位,必須包含數字和英文 |
| avatar | false | String | 角色頭像圖片位址,需包含協定 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道ID |
| name | String | 頻道名稱 |
| userId | String | POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| channelPasswd | String | 講師登入密碼,非研討會場景使用,長度6-16位 |
| seminarHostPassword | String | 研討會主持人密碼,僅直播場景為研討會時回傳,長度6-16位 |
| seminarAttendeePassword | String | 研討會與會者密碼,僅直播場景為研討會時回傳,長度6-16位 |
| publisher | String | 主持人名稱 |
| description | String | 直播介紹 |
| newScene | String | 直播場景 (topclass-大班課、double-雙師課(該場景需開通)、train-企業培訓、seminar-研討會、alone-活動行銷) |
| template | String | 直播模板 (ppt-三分屏(橫向)、portrait_ppt-三分屏(直向)、alone-純影片(橫向)、portrait_alone-純影片(直向)、topclass-純影片-極速(橫向)、portrait_topclass-純影片-極速(直向)、seminar-研討會) 直播場景為topclass時,該欄位支援ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播場景為train或alone時,該欄位支援ppt、portrait_ppt、alone、portrait_alone 直播場景為double時,該欄位支援ppt、alone 直播場景為seminar時,該欄位支援seminar |
| linkMicLimit | Integer | 連麥人數 |
| pureRtcEnabled | String | 直播延遲 Y:無延遲 N:普通延遲 |
| type | String | 頻道類型 發起轉播:transmit 接收轉播:receive 一般頻道:normal |
| currentTimeMillis | Date | 當前13位毫秒級時間戳 |
4、建立MR頻道
描述
创建MR频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/mr/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateMrChannel() throws IOException, NoSuchAlgorithmException {
LiveCreateMrChannelRequest liveCreateMrChannelRequest = new LiveCreateMrChannelRequest();
LiveCreateMrChannelResponse liveCreateMrChannelResponse;
try {
liveCreateMrChannelRequest.setName("SDK测试创建MR频道")
.setStartTime(getXDay(new Date(), 10))
.setChannelPasswd(getRandomString(16));
liveCreateMrChannelResponse = new LiveChannelOperateServiceImpl().createMrChannel(
liveCreateMrChannelRequest);
Assert.assertNotNull(liveCreateMrChannelResponse);
if (liveCreateMrChannelResponse != null) {
//to do something ......
log.debug("测试创建MR频道成功 {}", JSON.toJSONString(liveCreateMrChannelResponse));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.tryDeleteChannel(liveCreateMrChannelResponse.getChannelId());
}
} 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、請求正確,回傳 LiveCreateMrChannelResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 直播名稱,最大長度100 |
| categoryId | false | Integer | 分類ID |
| startTime | false | Date | 開始時間,13位毫秒級時間戳 |
| channelPasswd | false | String | MR控制台密碼,長度6-16位,不傳則由系統隨機生成 |
| assistantPasswd | false | String | MR直播助理角色密碼,長度6-16位,不傳則由系統隨機生成 |
| splashImg | false | String | 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| subAccount | false | String | 子帳號信箱,提交後,該頻道帳號在後台擁有的權限會跟隨該子帳號的頻道權限 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道ID |
| name | String | 頻道名稱 |
| userId | String | 直播帳號userId |
| channelPasswd | String | MR直播-控制台登入密碼 |
| assistantAccount | String | MR直播-直播助理帳號 |
| assistantPasswd | String | MR直播-直播助理登入密碼 |
5、查詢頻道資訊
描述
查询频道信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelInfo() throws Exception, NoSuchAlgorithmException {
LiveChannelInfoRequest liveChannelInfoRequest = new LiveChannelInfoRequest();
LiveChannelInfoResponse liveChannelInfoResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelInfoRequest.setChannelId(channelId);
liveChannelInfoResponse = new LiveChannelOperateServiceImpl().getChannelInfo(liveChannelInfoRequest);
Assert.assertNotNull(liveChannelInfoResponse);
if (liveChannelInfoResponse != null) {
//to do something ......
log.debug("查询频道信息成功{}", JSON.toJSONString(liveChannelInfoResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
| userId | String | POLYV 用戶 ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| name | String | 直播頻道名稱 |
| description | String | 直播頻道描述 |
| url | String | 直播推流地址 |
| stream | String | 直播流名稱 |
| logoImage | String | 播放器 logo |
| logoOpacity | Float | Logo 不透明度,取值【0-1】,1 表示完全不透明 |
| logoPosition | String | Logo 位置 |
| logoHref | String | Logo 的跳轉連結 |
| coverImage | String | 播放前顯示的封面圖 |
| coverHref | String | 封面圖的跳轉連結 |
| waitImage | String | 等待推流時的顯示圖片 |
| waitHref | String | 等待推流時顯示圖片的跳轉連結 |
| cutoffImage | String | 切斷流時的顯示圖片 |
| cutoffHref | String | 切斷流時顯示圖片的跳轉連結 |
| advertType | String | 廣告類型 |
| advertDuration | String | 廣告時長,單位:秒 |
| advertWidth | String | 廣告區域寬度 |
| advertHeight | String | 廣告區域高度 |
| advertImage | String | 圖片廣告 |
| advertHref | String | 廣告的跳轉連結 |
| advertFlvVid | String | 影片廣告 ID |
| advertFlvUrl | String | 影片廣告連結 |
| playerColor | String | 播放器控制欄顏色 |
| autoPlay | Boolean | 自動播放 |
| warmUpFlv | String | 一開始的暖場影片 |
| passwdRestrict | Boolean | 觀看密碼限制,需要輸入觀看密碼才能播放流 |
| passwdEncrypted | String | 觀看密碼加密後的密文 |
| isOnlyAudio | String | 僅推音頻流 |
| isLowLatency | String | 低延遲 |
| m3u8Url | String | 直播拉流(播放)m3u8 地址 |
| m3u8Url1 | String | 直播拉流(播放)m3u8 地址1 |
| m3u8Url2 | String | 直播拉流(播放)m3u8 地址2 |
| m3u8Url3 | String | 直播拉流(播放)m3u8 地址3 |
| currentTimeMillis | Long | 伺服器返回的時間戳(毫秒) |
| channelLogoImage | String | 頻道的圖標 |
| publisher | String | 主持人姓名 |
| scene | String | 直播場景:alone 活動直播, topclass 大班課, ppt 三分屏, seminar:研討會 |
| categoryId | String | 所屬分類 Id |
| categoryName | String | 所屬分類名稱 |
| channelPasswd | String | 頻道密碼 |
| channelViewerPasswd | String | 參與者密碼 |
| streamType | String | client:客戶端推流,pull:拉流,thirdpull:第三方拉流,disk:硬碟推流,audio:音頻直播 |
| pureRtcEnabled | String | 無延遲直播開關,Y:開啟,N:關閉 |
| type | String | transmit:發起轉播,normal:普通的頻道,receive:接收轉播 |
| cnAndEnLiveEnabled | String | 中英文直播間開關,Y:開啟,N:關閉 |
| pushEnUrl | String | 英文推流地址 |
| closeDanmu | String | N:沒有關閉彈幕,Y:關閉彈幕 |
| linkMicLimit | Integer | -1:使用帳號連麥人數,0-16:代表連麥人數 |
6、查詢頻道基本資訊
描述
查询频道基本信息,观看页状态与新版后台一致
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/basic/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelDetail() throws IOException, NoSuchAlgorithmException {
LiveChannelBasicInfoV2Request liveChannelBasicInfoV2Request = new LiveChannelBasicInfoV2Request();
LiveChannelBasicInfoV2Response liveChannelBasicInfoV2Response;
try {
String channelId = super.createChannel();
liveChannelBasicInfoV2Request.setChannelId(channelId);
liveChannelBasicInfoV2Response = new LiveChannelOperateServiceImpl().getChannelDetail(
liveChannelBasicInfoV2Request);
Assert.assertNotNull(liveChannelBasicInfoV2Response);
if (liveChannelBasicInfoV2Response != null) {
//to do something ......
log.debug("测试查询频道信息成功 {}", JSON.toJSONString(liveChannelBasicInfoV2Response));
}
} 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、請求正確,回傳 LiveChannelBasicInfoV2Response 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
| name | String | 頻道名稱 |
| scene | String | 直播場景:alone 活動拍攝;ppt 三分屏;topclass 大班課;seminar:研討會 |
| newScene | String | 新版後台直播場景,若未定義則取scene undefined:未定義 topclass:大班課 double:雙師課(需開通權限) train:企業培訓 seminar:研討會 alone:活動行銷 |
| template | String | 新版後台直播模板,若老版頻道,該欄位為未定義 undefined:未定義 ppt:文件+影片 alone:純影片(專業) topclass:純影片(極速) seminar:研討會 portrait_ppt:文件+影片(直式) portrait_alone:影片(直式) |
| channelPasswd | String | 頻道密碼 |
| publisher | String | 主持人名稱 |
| startTime | Date | 直播開始時間,關閉時為null |
| endTime | Date | 直播結束時間 |
| pageView | Integer | 頁面累計觀看數 |
| likes | Integer | 觀看頁按讚數 |
| coverImg | String | 頻道圖示url |
| splashImg | String | 引導頁圖片位址 |
| splashEnabled | String | 引導頁開關(取值為Y/N) |
| desc | String | 直播介紹 |
| consultingMenuEnabled | String | 諮詢提問開關(取值為Y/N) |
| maxViewerRestrict | String | 限制最大線上觀看人數開關(取值為Y/N) |
| maxViewer | Integer | 最大線上觀看人數 |
| watchStatus | String | 觀看頁狀態 live:直播中 playback:回放中 end:已結束 waiting:等待中 unStart:未開始 |
| watchStatusText | String | 觀看頁狀態描述 |
| userCategory | UserCategory | 頻道所屬分類的資訊【詳見UserCategory參數描述】 |
| authSettings | Array | 直播觀看條件列表【詳見AuthSetting參數描述】 |
| linkMicLimit | Integer | 頻道連麥人數限制 |
| createdAccountId | String | 建立者帳號id,為主帳號建立時,回傳主帳號userId |
| createdAccountEmail | String | 建立者帳號信箱 |
| createdTime | Date | 建立時間 |
| clientAloneTemplateBackgroundUrl | String | 客戶端模板背景圖URL |
| liveCdnBackgroundUrl | String | 影片混流背景圖URL |
| labelData | Array | 標籤id陣列 |
UserCategory參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| categoryId | Integer | 分類ID |
| categoryName | String | 分類名稱 |
| userId | String | POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| rank | Integer | 分類的排序值 |
AuthSetting參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
| userId | String | POLYV 用戶 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定) |
| rank | Integer | 用於實現一個頻道設定兩個觀看條件,為 1 或 2(1 為主要條件,2 為次要條件) |
| globalSettingEnabled | String | 是否開啟全域設定(Y/N) |
| enabled | String | 是否開啟觀看條件(Y/N) |
| authType | String | 觀看條件類型(1. 無限制 none 2. 驗證碼觀看 code 3. 付費觀看 pay 4. 白名單觀看 phone 5. 登記觀看 info 6. 分享觀看 wxshare 7. 自訂授權觀看 custom 8. 外部授權觀看 external) |
| authTips | String | 白名單觀看提示資訊 |
| payAuthTips | String | 付費觀看提示資訊 |
| authCode | String | 驗證碼觀看方式的驗證碼 |
| qCodeTips | String | 驗證碼觀看方式的 QR Code 提示【對應 API 文件的 qcodeTips 欄位】 |
| qCodeImg | String | 驗證碼觀看方式的 QR Code 圖片【對應 API 文件的 qcodeImg 欄位】 |
| price | Float | 付費觀看的價格 |
| watchEndTime | Date | 付費觀看,截止時間,為 null 表示:一次付費,永久有效 |
| validTimePeriod | Integer | 付費觀看的截止時長(天) |
| customKey | String | 自訂授權觀看的 key |
| customUri | String | 自訂授權觀看的介面位址 |
| externalKey | String | 外部授權觀看的 key |
| externalUri | String | 外部授權觀看的介面位址 |
| externalRedirectUri | String | 外部授權觀看,用戶直接存取觀看頁面時的跳轉位址 |
| directKey | String | 獨立授權 key |
| trialWatchEnabled | String | 試看開關,Y:開啟試看,N:關閉試看 |
| trialWatchTime | Integer | 試看時間,單位為分鐘 |
| trialWatchEndTime | Date | 試看截止日期,為 null 表示對該頻道永久有效 |
| whiteListInputTips | String | 白名單輸入提示 |
| whiteListEntryText | String | 白名單入口文案 |
| infoDesc | String | 登記觀看描述欄位 |
| customTeacherId | String | 自訂講師 ID |
7、查詢授權與連線的 Token
描述
查询授权和连麦的token
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/common/get-chat-token
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelAuthToken() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthTokenRequest liveChannelAuthTokenRequest = new LiveChannelAuthTokenRequest();
LiveChannelAuthTokenResponse liveChannelAuthTokenResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelAuthTokenRequest.setUserId(getRandomString(32))
.setChannelId(channelId)
.setRole(LiveConstant.Role.ADMIN.getDesc())
.setOrigin(null);
liveChannelAuthTokenResponse = new LiveChannelOperateServiceImpl().getChannelAuthToken(
liveChannelAuthTokenRequest);
Assert.assertNotNull(liveChannelAuthTokenResponse);
if (liveChannelAuthTokenResponse != null) {
//to do something ......
log.debug("查询授权和连麦的token成功{}", JSON.toJSONString(liveChannelAuthTokenResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelAuthTokenResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| userId | true | String | C端觀眾ID |
| channelId | true | String | 頻道號 |
| role | true | String | 角色,值有:teacher、admin、guest、assistant、viewer 等 |
| origin | false | String | 觀看來源,可為 web、client、app 等 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號調用時此參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號調用時此參數必填(即已調用 initMultiAccount() 設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| token | String | 連結介面所需的 token 值,有效期 6 小時 |
| mediaChannelKey | String | 連線麥克風所需的 key |
8、修改頻道的相關設定
描述
修改频道的相关设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelSetting() throws Exception, NoSuchAlgorithmException {
LiveChannelSettingRequest liveChannelSettingRequest = new LiveChannelSettingRequest();
Boolean liveChannelSettingResponse;
try {
//准备测试数据
String channelId = getAloneChannelId();
LiveChannelSettingRequest.BasicSetting basicSetting = new LiveChannelSettingRequest.BasicSetting().setName(
"Junit测试(勿删)888")
.setChannelPasswd(getRandomString(7))
.setCategoryId(340019)
.setMaxViewer(0)
.setPageView(1000)
.setLikes(2000)
.setCoverImg("https://www.polyv.net/")
.setStartTime(0l)
.setDesc("这是一个描述")
.setPublisher("sadboy主讲")
.setLinkMicLimit(-1)
.setReceiveChannelIds(null);
LiveChannelSettingRequest.AuthSetting authSetting = new LiveChannelSettingRequest.AuthSetting().setAuthType(
LiveConstant.AuthType.CODE.getDesc())
.setRank(1)
.setEnabled("Y")
.setAuthCode("123456")
.setQcodeTips("提示文案")
.setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
List<LiveChannelSettingRequest.AuthSetting> authSettings =
new ArrayList<LiveChannelSettingRequest.AuthSetting>();
authSettings.add(authSetting);
liveChannelSettingRequest.setChannelId(channelId)
.setBasicSetting(basicSetting)
.setAuthSettings(authSettings);
liveChannelSettingResponse = new LiveChannelOperateServiceImpl().updateChannelSetting(
liveChannelSettingRequest);
Assert.assertTrue(liveChannelSettingResponse);
if (liveChannelSettingResponse) {
//to do something ......
log.debug("测试修改频道的相关设置成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | 是 | String | 需要設定頻道詳細資訊的頻道號碼,例如:1938028 |
| basicSetting | 否 | BasicSetting | 基礎設定【詳見BasicSetting參數說明】 |
| authSettings | 否 | Array | 觀看條件設定【詳見AuthSetting參數說明】 |
| appId | 否 | String | POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | String | POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
BasicSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | false | String | 頻道名稱 |
| channelPasswd | false | String | 頻道密碼,長度不能超過16位,必須同時包含字母和數字 |
| publisher | false | String | 主持人名稱 |
| startTime | false | Long | 直播開始時間,13位時間戳,設定為0表示關閉直播開始時間顯示 |
| pageView | false | Integer | 累積觀看數 |
| likes | false | Integer | 點讚數 |
| coverImg | false | String | 封面圖片地址 |
| splashImg | false | String | 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| splashEnabled | false | String | 引導頁開關(Y、N) |
| desc | false | String | 直播介紹 |
| consultingMenuEnabled | false | String | 諮詢提問開關(Y、N) |
| maxViewerRestrict | false | String | 是否限制最大觀看人數(Y、N) |
| maxViewer | false | Integer | 最大線上人數 |
| categoryId | false | Integer | 頻道的所屬分類(分類ID可透過「取得直播分類」介面取得) |
| linkMicLimit | false | Integer | -1<=連麥人數<=帳號的連麥人數,-1:使用帳號的連麥人數,最大16人 |
| operation | false | String | 是否增加轉播關聯,Y:表示增加關聯,N:表示取消關聯 (註:需要開啟頻道轉播功能該參數才生效)(Y、N) |
| receiveChannelIds | false | String | 接收轉播頻道號,多個頻道號用半形逗號,隔開(註:需要開啟頻道轉播功能該參數才生效) |
| closeBarrage | false | String | 是否關閉彈幕功能的開關,N:表示不關閉,Y:表示關閉;【對應api文件的closeDanmu欄位】 |
| showBarrageInfoEnabled | false | String | 預設是否顯示彈幕資訊開關,Y:表示顯示,N:表示不顯示;【對應api文件的showDanmuInfoEnabled欄位】 |
| pureRtcEnabled | false | String | 是否開啟無延遲直播開關,為空時不對欄位進行修改,直播中不能對該欄位進行修改,Y:表示是,N:表示否; |
| customTeacherId | false | String | 自訂講師ID,32個以內ASCII碼可見字元 |
| labelData | false | Array | 標籤id陣列,傳null不修改 |
AuthSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| rank | true | Integer | 通用參數:主要觀看條件為1,次要觀看條件為2 |
| enabled | true | String | 通用參數:是否開啟,Y為開啟,N為關閉 |
| authType | false | String | 通用參數:付費觀看-pay,驗證碼觀看-code,白名單觀看-phone,登記觀看-info,自定義授權觀看-custom,外部授權-external,直接授權-direct |
| subAuthType | false | String | authType為none時對應的值,public-公開觀看,wx-微信授權 |
| wxAuthExpireValue | false | String | subAuthType為wx時,對應的微信授權有效期,例如:3d表示3天,3h表示3小時 |
| payAuthTips | false | String | 付費觀看參數:歡迎語標題 |
| price | false | Float | 付費觀看參數:價格,單位為元 |
| watchEndTime | false | Date | 付費觀看參數:付費有效截止日期。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| validTimePeriod | false | Integer | 付費觀看參數:付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| authCode | false | String | 驗證碼觀看參數:驗證碼 |
| qcodeTips | false | String | 驗證碼觀看參數:提示文案 |
| qcodeImg | false | String | 驗證碼觀看參數:公眾號二維碼地址 |
| authTips | false | String | 當authType為phone時,設定參數,非必填。提示文案 |
| whiteListEntryText | false | String | 當authType為phone時,設定參數,非必填。白名單入口文案 |
| whiteListInputTips | false | String | 當authType為phone時,設定參數,非必填。白名單輸入提示 |
| infoFields | false | Array | 登記觀看參數,上限為5個【詳見InfoField參數描述】 |
| infoAuthTips | false | String | 當authType為info時,設定參數,非必填。歡迎標題 |
| infoDesc | false | String | 當authType為info時,設定參數,非必填。提示資訊 |
| infoEntryText | false | String | 當authType為info時,設定參數,非必填。入口文字 |
| externalKey | false | String | 外部授權參數:SecretKey |
| externalUri | false | String | 外部授權參數:自訂url |
| externalRedirectUri | false | String | 外部授權參數:跳轉地址 |
| externalEntryText | false | String | 外部授權觀看,入口文字 |
| externalButtonEnabled | false | String | 外部授權觀看,登入按鈕。Y為開啟,N為關閉。開啟後使用者訪問連結時,引導頁面將顯示登入按鈕 |
| customKey | false | String | 自訂授權參數:SecretKey |
| customUri | false | String | 自訂授權參數:自訂url |
| directKey | false | String | 直接授權參數:直接授權SecretKey |
| codeAuthTips | false | String | 密碼觀看條件提示資訊 |
| codeEntryText | false | String | 密碼觀看入口文字 |
| payEntryText | false | String | 付費入口文字 |
| expectedArrivalEnabled | false | String | 白名單觀看到勤名單開關,Y-開,N-關,預設為N |
| onceWhitelistEnabled | false | String | 白名單觀看不允許重複使用,預設為N,Y:是、N:否 |
| privacyStatus | false | String | 是否開啟隱私聲明,Y-開,N-關,預設為N |
| privacyContent | false | String | 隱私聲明內容 |
| inviteWatchAuditEnabled | false | String | 邀請觀看審核開關,Y-開,N-關,預設為N |
InfoField參數描述
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| name | false | String | 登記資訊名稱,最多8個字元 |
| type | true | String | 登記類型,姓名-name、文字-text、手機號碼-mobile、數字-number、下拉選項-option,登記觀看時此欄位必填 |
| options | false | String | 下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多8個字元 |
| placeholder | false | String | 文字框輸入提示,最多8個字元 |
| sms | false | String | 簡訊驗證開關,Y 開啟,N 關閉 |
回傳物件描述
true 表示設定成功,false 表示設定失敗
9、修改頻道設定
描述
修改频道设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannel() throws IOException, NoSuchAlgorithmException {
LiveUpdateChannelRequest liveUpdateChannelRequest = new LiveUpdateChannelRequest();
Boolean liveUpdateChannelResponse;
try {
String channelId = super.createChannel();
liveUpdateChannelRequest.setChannelId(channelId)
.setPassword(getRandomString(8))
.setPublisher("主持人sadboy");
liveUpdateChannelResponse = new LiveChannelOperateServiceImpl().updateChannel(liveUpdateChannelRequest);
Assert.assertTrue(liveUpdateChannelResponse);
if (liveUpdateChannelResponse) {
//to do something ......
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| name | false | String | 直播名稱,最大長度100 |
| password | false | String | 密碼,長度6-16位,需同時包含數字與字母 |
| seminarHostPassword | false | String | 主持人密碼,頻道場景為研討會有效,長度6-16位,需同時包含數字與字母 |
| seminarAttendeePassword | false | String | 與會者密碼,頻道場景為研討會有效,長度6-16位,需同時包含數字與字母 |
| publisher | false | String | 主持人,最大長度100 |
| template | false | String | 直播觀看模板 三分屏-橫屏:ppt 三分屏-豎屏:portrait_ppt 純影片-橫屏:alone 純影片-豎屏:portrait_alone 純影片-極速-橫屏:topclass 純影片-極速-豎屏:portrait_topclass 舊版後台頻道(場景為未定義 newScene:undefined)不支援修改 研討會(seminar)場景不支援修改 場景為三分屏(scene:ppt)可修改值:ppt、portrait_ppt 場景為純影片(scene:alone)可修改值:alone、portrait_alone 場景為大班課(scene:topclass)可修改值:topclass、portrait_topclass |
| pureRtcEnabled | false | String | 無延遲直播開關 Y:開啟 N:關閉 |
| linkMicLimit | false | Integer | 連線人數,範圍:0-16 |
| maxViewer | false | Integer | 最大同時線上人數 |
| startTime | false | Date | 直播開始時間,需大於當前時間 |
| endTime | false | Date | 直播結束時間,需大於直播開始時間 |
| splashImg | false | String | 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
修改頻道設定回傳實體
10、設定頻道詳細資訊
描述
设置频道详情
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/detail/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelDetail() throws Exception, NoSuchAlgorithmException {
LiveChannelDetailRequest liveChannelDetailRequest = new LiveChannelDetailRequest();
Boolean liveChannelDetailResponse;
try {
//准备测试数据
String channelId = super.createChannel();
String newPassword = getRandomString(16);
liveChannelDetailRequest.setChannelId(channelId).setField("channelPasswd").setValue(newPassword);
liveChannelDetailResponse = new LiveChannelOperateServiceImpl().updateChannelDetail(
liveChannelDetailRequest);
Assert.assertNotNull(liveChannelDetailResponse);
if (liveChannelDetailResponse) {
//to do something ......
log.debug("频道{}修改密码为{}成功", channelId, newPassword);
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | 是 | String | 需要設定頻道詳細資訊的頻道號碼,例如:1938028 |
| field | 是 | String | 要更新的欄位名稱:channelPasswd-頻道密碼;maxViewer-最大同時觀看人數; |
| value | 否 | String | 要更新的欄位值,除設定無限制最大觀看人數時可不提交,其他情況皆為必填;field欄位為channelPasswd時,value長度為1-16位,必填,必須同時包含英文和數字;field欄位為maxViewer時,value取值為(0-2147483647),其中0和不傳為不限制同時觀看人數,非必填 |
| appId | 否 | String | POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | String | POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示修改成功,false 表示修改失敗
11、設定頻道密碼
描述
设置频道密码
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/passwdSetting
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelPassword() throws Exception, NoSuchAlgorithmException {
LiveChannelPasswordSettingRequest liveChannelPasswordSettingRequest = new LiveChannelPasswordSettingRequest();
Boolean liveChannelPasswordSettingResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelPasswordSettingRequest.setChannelId(channelId).setPasswd(getRandomString(6));
liveChannelPasswordSettingResponse = new LiveChannelOperateServiceImpl().updateChannelPassword(
liveChannelPasswordSettingRequest);
Assert.assertNotNull(liveChannelPasswordSettingResponse);
if (liveChannelPasswordSettingResponse) {
//to do something ......
log.debug("设置频道密码成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| userId | false | String | POLYV 用戶 ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| channelId | false | String | 頻道號,請注意,如果此參數為空,會對該用戶所有的頻道進行修改 |
| passwd | true | String | 修改的密碼,必須同時包含字母和數字 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示設定密碼成功,false 表示設定失敗
12、設定頻道單點登入 Token
描述
设置频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-token
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelToken() throws Exception, NoSuchAlgorithmException {
LiveCreateChannelTokenRequest liveCreateChannelTokenRequest = new LiveCreateChannelTokenRequest();
Boolean liveCreateChannelTokenResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveCreateChannelTokenRequest.setChannelId(channelId).setToken(LiveSignUtil.generateUUID());
liveCreateChannelTokenResponse = new LiveChannelOperateServiceImpl().createChannelToken(
liveCreateChannelTokenRequest);
Assert.assertNotNull(liveCreateChannelTokenResponse);
if (liveCreateChannelTokenResponse) {
//to do something ......
log.debug("设置频道单点登录token成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| token | true | String | 唯一的字串 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示設定 token 成功,false 表示設定失敗
13、刪除直播頻道
描述
删除直播频道
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannel() throws Exception, NoSuchAlgorithmException {
LiveDeleteChannelRequest liveDeleteChannelRequest = new LiveDeleteChannelRequest();
Boolean liveDeleteChannelResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveDeleteChannelRequest.setChannelId(channelId);
liveDeleteChannelResponse = new LiveChannelOperateServiceImpl().deleteChannel(liveDeleteChannelRequest);
Assert.assertNotNull(liveDeleteChannelResponse);
if (liveDeleteChannelResponse) {
//to do something ......
log.debug("删除直播频道成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件校驗失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| userId | false | String | POLYV用戶ID,多帳號調用時此參數必填(即呼叫了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時此參數必填(即呼叫了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時此參數必填(即呼叫了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示刪除成功,false 表示刪除失敗
14、批次刪除頻道
描述
批量删除频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannelList() throws Exception, NoSuchAlgorithmException {
LiveDeleteChannelListRequest liveDeleteChannelListRequest = new LiveDeleteChannelListRequest();
Boolean liveDeleteChannelListResponse;
try {
//准备测试数据
String[] channelIds = new String[]{super.createChannel(), super.createChannel(), super.createChannel()};
liveDeleteChannelListRequest.setChannelIds(channelIds);
liveDeleteChannelListResponse = new LiveChannelOperateServiceImpl().deleteChannelList(
liveDeleteChannelListRequest);
Assert.assertNotNull(liveDeleteChannelListResponse);
if (liveDeleteChannelListResponse) {
//to do something ......
log.debug("批量删除频道成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelIds | true | String[] | 頻道號列表,每次最多刪除100個頻道,必須放在請求體中 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示批次刪除成功,false 表示批次刪除失敗,不存在部分成功的情況
15、建立角色
描述
创建频道的助教或嘉宾角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateAccount() throws Exception {
LiveCreateAccountRequest liveCreateAccountRequest = new LiveCreateAccountRequest();
LiveCreateAccountResponse liveCreateAccountResponse;
try {
String channelId = super.createChannel();
liveCreateAccountRequest.setChannelId(channelId)
.setRole("Assistant")
.setActor("助教boy")
.setNickName("王助教")
.setPasswd(super.getRandomString(6))
.setPurviewList(Arrays.asList(new LiveCreateAccountRequest.Purview().setCode(
LiveConstant.RolePurview.CHAT_LIST_ENABLED.getCode())
.setEnabled(LiveConstant.Flag.YES.getFlag())));
liveCreateAccountResponse = new LiveChannelOperateServiceImpl().createAccount(liveCreateAccountRequest);
Assert.assertNotNull(liveCreateAccountResponse);
if (liveCreateAccountResponse != null) {
//to do something ......
log.debug("测试创建角色成功 {}", JSON.toJSONString(liveCreateAccountResponse));
//TODO 此处创建完成后删除了角色,正式使用需删除该语句
super.deleteSonChannel(liveCreateAccountResponse.getAccount());
}
} 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、請求正確,回傳 LiveCreateAccountResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道ID |
| role | true | String | 角色 Assistant:助教 Guest:嘉賓 |
| actor | false | String | 頭銜,助教預設為助教,頭銜長度必須1到10位 |
| nickName | false | String | 暱稱,預設隨機生成暱稱,暱稱長度必須1到15位 |
| avatar | false | String | 頭像,預設初始頭像(JPG、PNG格式圖片),需攜帶 http:// 或 https:// |
| passwd | false | String | 角色密碼,預設隨機生成密碼,密碼長度必須6到16位 |
| purviewList | false | Array | 權限【詳見Purview參數說明】 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
Purview參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| code | true | String | 權限 chatListEnabled:線上列表(僅支援助教) pageTurnEnabled:翻頁(僅支援助教,且僅能設定一個助教有翻頁權限) monitorEnabled:監播(僅支援助教,且僅能設定一個助教有監播權限) chatAuditEnabled:聊天審核(僅支援助教) |
| enabled | true | String | 開關 Y:開啟 N:關閉 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| account | String | 助教/嘉賓帳號 |
| userId | String | 使用者ID |
| channelId | String | 頻道號 |
| passwd | String | 角色密碼 |
| nickname | String | 角色名稱 |
| stream | String | 角色串流名稱,單獨使用無效 |
| status | String | 角色狀態 Y:開啟 N:關閉 |
| createdTime | Date | 建立角色時間,13位毫秒級時間戳 |
| lastModified | Date | 角色最後修改時間,13位毫秒級時間戳 |
| sort | Integer | 頻道角色序號 |
| avatar | String | 角色頭像 |
| actor | String | 角色頭銜 |
| role | String | 角色 Assistant:助教 Guest:嘉賓 |
| monitorEnabled | String | 監播權限 Y:開啟 N:關閉 |
| pageTurnEnabled | String | 翻頁權限 Y:開啟 N:關閉 |
| chatListEnabled | String | 線上列表權限 Y:開啟 N:關閉 |
16、查詢角色
描述
查询角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/account
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetSonChannelInfo() throws Exception, NoSuchAlgorithmException {
LiveSonChannelInfoRequest liveSonChannelInfoRequest = new LiveSonChannelInfoRequest();
LiveSonChannelInfoResponse liveSonChannelInfoResponse;
try {
//准备测试数据
String channelId = super.createChannel();
String sonChannelId = createSonChannel(channelId);
liveSonChannelInfoRequest.setAccount(sonChannelId).setChannelId(channelId);
liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfo(
liveSonChannelInfoRequest);
Assert.assertNotNull(liveSonChannelInfoResponse);
if (liveSonChannelInfoResponse != null) {
//to do something ......
log.debug("测试查询角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveSonChannelInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| account | true | String | 助教/嘉賓帳號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| account | String | 助教/嘉賓帳號 |
| userId | String | POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| channelId | String | 頻道號 |
| passwd | String | 角色密碼 |
| nickname | String | 角色名稱 |
| stream | String | 角色串流名稱(單獨使用無效) |
| status | String | 角色狀態 |
| createdTime | Date | 建立角色時間 |
| lastModified | Date | 角色最後修改時間 |
| sort | Integer | 頻道中所有角色序號 |
| avatar | String | 角色頭像 |
| pageTurnEnabled | String | 助教翻頁權限(只能一個角色有) |
| notifyEnabled | String | 發布公告權限(Y/N) |
| checkinEnabled | String | 開啟簽到權限(Y/N) |
| voteEnabled | String | 發起投票(Y/N) |
| role | String | 角色 Assistant:助教 Guest:嘉賓 |
| chatListEnabled | String | 助教頁在線列表顯示開關 Y:開啟 N:關閉 |
| chatAuditEnabled | String | 助教聊天審核 Y:開啟 N:關閉 |
| monitorEnabled | String | 助教監播開關 Y:開啟 N:關閉 |
| roundTourEnabled | String | 助教輪巡開關 Y:開啟 N:關閉 |
| watchLockEnabled | String | 鎖定直播間功能開關 Y:開啟 N:關閉 |
| pushUrl | String | 子頻道推流地址(子頻道推流請參考後台導播台使用) |
17、查詢頻道號下所有角色資訊
描述
查询频道号下所有角色信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/accounts
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetSonChannelInfoList() throws Exception, NoSuchAlgorithmException {
LiveSonChannelInfoListRequest liveSonChannelInfoListRequest = new LiveSonChannelInfoListRequest();
LiveSonChannelInfoListResponse liveSonChannelInfoResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveSonChannelInfoListRequest.setChannelId(channelId);
liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfoList(
liveSonChannelInfoListRequest);
Assert.assertNotNull(liveSonChannelInfoResponse);
if (liveSonChannelInfoResponse != null) {
//to do something ......
log.debug("查询频道号下所有角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveSonChannelInfoListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| sonChannelInfos | Array | 角色資訊【詳見LiveSonChannelInfoResponse參數描述】 |
LiveSonChannelInfoResponse參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| account | String | 助教/嘉賓帳號 |
| userId | String | POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| channelId | String | 頻道號 |
| passwd | String | 角色密碼 |
| nickname | String | 角色名稱 |
| stream | String | 角色串流名稱(單獨使用無效) |
| status | String | 角色狀態 |
| createdTime | Date | 建立角色時間 |
| lastModified | Date | 角色最後修改時間 |
| sort | Integer | 頻道中所有角色序號 |
| avatar | String | 角色頭像 |
| pageTurnEnabled | String | 助教翻頁權限(只能一個角色有) |
| notifyEnabled | String | 發布公告權限(Y/N) |
| checkinEnabled | String | 開啟簽到權限(Y/N) |
| voteEnabled | String | 發起投票(Y/N) |
| role | String | 角色 Assistant:助教 Guest:嘉賓 |
| chatListEnabled | String | 助教頁在線列表顯示開關 Y:開啟 N:關閉 |
| chatAuditEnabled | String | 助教聊天審核 Y:開啟 N:關閉 |
| monitorEnabled | String | 助教監播開關 Y:開啟 N:關閉 |
| roundTourEnabled | String | 助教輪巡開關 Y:開啟 N:關閉 |
| watchLockEnabled | String | 鎖定直播間功能開關 Y:開啟 N:關閉 |
| pushUrl | String | 子頻道推流地址(子頻道推流請參考後台導播台使用) |
18、修改角色資訊
描述
修改助教或嘉宾的信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateAccount() throws Exception {
LiveUpdateAccountRequest liveUpdateAccountRequest = new LiveUpdateAccountRequest();
LiveUpdateAccountResponse liveUpdateAccountResponse;
try {
//准备测试数据
String channelId = super.createChannel();
String accountId = createSonChannel(channelId);
liveUpdateAccountRequest.setChannelId(channelId)
.setAccount(accountId)
.setNickName("张三")
.setActor("嘉宾A")
.setPasswd(super.getRandomString(6));
liveUpdateAccountResponse = new LiveChannelOperateServiceImpl().updateAccount(liveUpdateAccountRequest);
Assert.assertNotNull(liveUpdateAccountResponse);
if (liveUpdateAccountResponse != null) {
//to do something ......
log.debug("测试修改角色信息成功 {}", JSON.toJSONString(liveUpdateAccountResponse));
}
} 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、請求正確,回傳 LiveUpdateAccountResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道ID |
| account | true | String | 助教/嘉賓帳號 |
| actor | false | String | 頭銜,助教預設為助教 |
| nickName | false | String | 暱稱,預設隨機生成暱稱 |
| avatar | false | String | 頭像,預設初始頭像(JPG、PNG格式圖片,需攜帶 http:// 或 https://) |
| passwd | false | String | 角色密碼 |
| purviewList | false | Array | 權限【詳見Purview參數說明】 |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時該參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
Purview參數描述
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| code | true | String | 權限 chatListEnabled:線上列表(僅支援助教) pageTurnEnabled:翻頁(僅支援助教,且僅能設定一位助教擁有翻頁權限) monitorEnabled:監播(僅支援助教,且僅能設定一位助教擁有監播權限) chatAuditEnabled:聊天審核(僅支援助教) |
| enabled | true | String | 開關 Y:開啟 N:關閉 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| account | String | 助教/嘉賓帳號 |
| userId | String | 使用者ID |
| channelId | String | 頻道號 |
| passwd | String | 角色密碼 |
| nickname | String | 角色名稱 |
| stream | String | 角色串流名稱,單獨使用無效 |
| status | String | 角色狀態 Y:開啟 N:關閉 |
| createdTime | Date | 建立角色時間,13位毫秒級時間戳 |
| lastModified | Date | 角色最後修改時間,13位毫秒級時間戳 |
| sort | Integer | 頻道角色序號 |
| avatar | String | 角色頭像 |
| actor | String | 角色頭銜 |
| role | String | 角色 Assistant:助教 Guest:嘉賓 |
| monitorEnabled | String | 監播權限 Y:開啟 N:關閉 |
| pageTurnEnabled | String | 翻頁權限 Y:開啟 N:關閉 |
| chatListEnabled | String | 線上列表權限 Y:開啟 N:關閉 |
19、刪除角色
描述
删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteSonChannel() throws Exception, NoSuchAlgorithmException {
LiveDeleteSonChannelRequest liveDeleteSonChannelRequest = new LiveDeleteSonChannelRequest();
Boolean liveDeleteSonChannelResponse;
try {
//准备测试数据
String channelId = super.createChannel();
String sonChannelId = createSonChannel(channelId);
liveDeleteSonChannelRequest.setChannelId(channelId).setAccount(sonChannelId);
liveDeleteSonChannelResponse = new LiveChannelOperateServiceImpl().deleteSonChannel(
liveDeleteSonChannelRequest);
Assert.assertNotNull(liveDeleteSonChannelResponse);
if (liveDeleteSonChannelResponse) {
//to do something ......
log.debug("测试删除角色成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| account | true | String | 助教/嘉賓帳號 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示刪除成功,false 表示刪除失敗
20、批次刪除角色
描述
批量删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/delete-batch
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteAccount() throws Exception {
LiveDeleteAccountRequest liveDeleteAccountRequest = new LiveDeleteAccountRequest();
Boolean liveDeleteAccountResponse;
try {
String channelId = super.getAloneNewChannelId();
LiveCreateSonChannelRequest sonChannelRequest = new LiveCreateSonChannelRequest();
sonChannelRequest.setChannelId(channelId);
liveDeleteAccountRequest.setChannelId(channelId);
liveDeleteAccountRequest.setAccounts(createSonChannel(sonChannelRequest));
liveDeleteAccountResponse = new LiveChannelOperateServiceImpl().deleteAccount(liveDeleteAccountRequest);
Assert.assertTrue(liveDeleteAccountResponse);
if (liveDeleteAccountResponse) {
//to do something ......
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| accounts | true | String | 助教/嘉賓帳號,多個用英文逗號分隔,最多150個 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
批量刪除角色回傳實體
21、設定子頻道單點登入 Token
描述
设置子频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-account-token
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateSonChannelToken() throws Exception, NoSuchAlgorithmException {
LiveCreateSonChannelTokenRequest liveCreateSonChannelTokenRequest = new LiveCreateSonChannelTokenRequest();
Boolean liveCreateSonChannelTokenResponse;
try {
//准备测试数据
String channelId = super.createChannel();
String sonChannelId = createSonChannel(channelId);
liveCreateSonChannelTokenRequest.setAccount(sonChannelId).setToken(LiveSignUtil.generateUUID());
liveCreateSonChannelTokenResponse = new LiveChannelOperateServiceImpl().createSonChannelToken(
liveCreateSonChannelTokenRequest);
Assert.assertNotNull(liveCreateSonChannelTokenResponse);
if (liveCreateSonChannelTokenResponse) {
//to do something ......
log.debug("设置子频道单点登录token成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| account | true | String | 子頻道號(不能以數字類型提交,否則可能去掉ID前的00) |
| token | true | String | 唯一的字串 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示設定子頻道 token 成功,false 表示設定失敗
22、建立重製課件任務
描述
创建重制课件任务
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/addRecordTask
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelPPTRecordTask() throws Exception, NoSuchAlgorithmException {
LiveCreateChannelPPTRecordRequest liveCreateChannelPPTRecordRequest = new LiveCreateChannelPPTRecordRequest();
Boolean liveCreateChannelPPTRecordResponse;
try {
String channel = super.createChannel();
List<String> videoIds = listChannelVideoIds(channel);
liveCreateChannelPPTRecordRequest.setChannelId(channel).setVideoId(videoIds.get(1));
liveCreateChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().createChannelPPTRecordTask(
liveCreateChannelPPTRecordRequest);
Assert.assertTrue(liveCreateChannelPPTRecordResponse);
if (liveCreateChannelPPTRecordResponse) {
//to do something ......
log.debug("测试创建重制课件任务成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| videoId | true | String | 回放影片 ID,從查詢影片庫列表取得 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示建立成功,false 表示建立失敗
23、查詢課件重製任務列表
描述
查询课件重制任务列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testListPPTRecord() throws Exception, NoSuchAlgorithmException {
LiveListChannelPPTRecordRequest liveListChannelPPTRecordRequest = new LiveListChannelPPTRecordRequest();
LiveListChannelPPTRecordResponse liveListChannelPPTRecordResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveListChannelPPTRecordRequest.setChannelId(channelId)
.setStartTime(getDate(2020, 1, 1))
.setEndTime(getDate(2020, 11, 11))
.setCurrentPage(1);
liveListChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().listPPTRecord(
liveListChannelPPTRecordRequest);
Assert.assertNotNull(liveListChannelPPTRecordResponse);
if (liveListChannelPPTRecordResponse != null) {
//to do something ......
log.debug("查询课件重制任务列表信息成功{}", JSON.toJSONString(liveListChannelPPTRecordResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveListChannelPPTRecordResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| sessionId | false | String | 場次ID,透過 new LiveChannelPlaybackServiceImpl().listChannelSessionInfo() 方法取得場次資訊 |
| status | false | String | 課件重製狀態值,waiting-等待處理;process-處理中;success-重製成功;fail-重製失敗;uploaded-上傳點播成功;uploadFailed-上傳點播失敗; |
| startTime | false | Date | 直播開始時間起始區間 |
| endTime | false | Date | 直播開始時間結束區間 |
| currentPage | false | Integer | 頁數,預設為1【對應API文件的page欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 課件重製任務列表【詳見LivePPTRecord參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 目前頁面【對應API文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應API文件的totalPages欄位】 |
LivePPTRecord參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 直播頻道號 |
| title | String | 對應回放的名稱 |
| url | String | 重製 mp4 下載位址,有 24 小時的防盜鏈逾時時間 |
| sessionId | String | 場次 ID |
| startTime | Date | 對應回放的直播開始時間,格式為 yyyy-MM-dd HH:mm:ss |
| status | String | 狀態值,waiting-等待處理;process-處理中;success-重製成功;fail-重製失敗;uploaded-上傳點播成功;uploadFailed-上傳點播失敗; |
| remainDay | Integer | 重製剩餘的過期時間,過期後將無法存取和下載,單位:天 |
| duration | Integer | 重製的影片時長,單位秒 |
| videoId | String | 直播系統影片 ID,如:992d36fa40 |
| vid | String | 重製課件上傳到點播的點播影片 VID |
24、查詢頻道重製課件參數設定資訊
描述
查询频道重制课件参数设置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/get-setting
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetRecordSetting() throws Exception {
LiveChannelGetRecordSettingRequest liveChannelGetRecordSettingRequest =
new LiveChannelGetRecordSettingRequest();
LiveChannelGetRecordSettingResponse liveChannelGetRecordSettingResponse;
try {
String channelId = super.createChannel();
liveChannelGetRecordSettingRequest.setChannelId(channelId);
liveChannelGetRecordSettingResponse = new LiveChannelOperateServiceImpl().liveChannelGetRecordSetting(
liveChannelGetRecordSettingRequest);
Assert.assertNotNull(liveChannelGetRecordSettingResponse);
if (liveChannelGetRecordSettingResponse != null) {
//to do something ......
log.debug("测试查询频道重制课件参数设置信息成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelGetRecordSettingResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
| userId | String | POLYV 用戶 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定) |
| type | Integer | 影片佈局方式 0:三分屏 1:純文件 2:畫中畫 |
| globalSettingEnabled | String | 是否使用通用設定 Y:是 N:否 |
| videoRatio | String | 攝影機畫面比例 0:畫面比例 16:9 1:畫面比例 4:3 |
| brandImgFile | String | 展示圖片 |
| backgroundImgFile | String | 背景圖片 |
| actionPosition | String | 重置課程攝影機位置 left:左側 right:右側 |
25、設定頻道重製課件配置資訊
描述
设置频道重制课件配置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/setting
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、新版頻道無法設定
單元測試
@Test
public void testSetChannelRecord() throws IOException, NoSuchAlgorithmException {
LiveChannelRecordSettingRequest liveChannelRecordSettingRequest = new LiveChannelRecordSettingRequest();
Boolean liveChannelRecordSettingResponse;
try {
String channelId = super.createChannel();
liveChannelRecordSettingRequest.setChannelId(channelId)
.setGlobalSettingEnabled(LiveConstant.Flag.NO.getFlag())
.setType(LiveConstant.PPTRecordType.PICTURE.getValue())
.setVideoRatio(LiveConstant.PPTRecordRatio.RATIO_16_9.getValue());
liveChannelRecordSettingResponse = new LiveChannelOperateServiceImpl().setChannelRecord(
liveChannelRecordSettingRequest);
Assert.assertTrue(liveChannelRecordSettingResponse);
if (liveChannelRecordSettingResponse) {
//to do something ......
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| globalSettingEnabled | true | String | 是否使用通用設定 Y:是 N:否 |
| type | true | Integer | 影片佈局方式 0:三分屏 1:純文件 2:畫中畫 |
| videoRatio | false | String | 攝影機畫面比例,新版重製有效 0:畫面比例16:9 1:畫面比例4:3 |
| brandImgFile | false | File | 展示圖片,新版重製有效,支援jpg和png格式 攝影機畫面比例為16:9時尺寸為480X810 攝影機畫面比例為4:3時尺寸為480X720 |
| backgroundImgFile | false | File | 背景圖片,舊版重製有效,尺寸為1280X720,支援jpg和png格式 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
回傳物件描述
頻道重製課件配置資訊返回
26、刪除重製課件任務
描述
删除重制课件任务, 可批量删除
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/batch-delete
調用約束
1、接口調用有頻率限制,詳細請查看,調用常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannelPPTRecord() throws IOException, NoSuchAlgorithmException {
LiveDeleteChannelPPTRecordRequest liveDeleteChannelPPTRecordRequest = new LiveDeleteChannelPPTRecordRequest();
Boolean liveDeleteChannelPPTRecordResponse;
try {
String channelId = super.createChannel();
liveDeleteChannelPPTRecordRequest.setChannelId(channelId);
liveDeleteChannelPPTRecordRequest.setTaskIds("12345,12346");
liveDeleteChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().deleteChannelPPTRecord(
liveDeleteChannelPPTRecordRequest);
Assert.assertNotNull(liveDeleteChannelPPTRecordResponse);
if (liveDeleteChannelPPTRecordResponse != null) {
//to do something ......
log.debug("测试删除重制课件任务成功 {}", JSON.toJSONString(liveDeleteChannelPPTRecordResponse));
}
} 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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道ID |
| taskIds | true | String | 任務ID列表,多個任務ID使用「,」進行分隔 |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示刪除成功,false 表示刪除失敗
27、查詢頻道回呼設定介面
描述
查询频道回调设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/get-setting
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelCallbackSetting() throws Exception {
LiveChannelCallbackSettingRequest liveChannelCallbackSettingRequest = new LiveChannelCallbackSettingRequest();
LiveChannelCallbackSettingResponse liveChannelCallbackSettingResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelCallbackSettingRequest.setChannelId(channelId);
liveChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().getChannelCallbackSetting(
liveChannelCallbackSettingRequest);
Assert.assertNotNull(liveChannelCallbackSettingResponse);
if (liveChannelCallbackSettingResponse != null) {
//to do something ......
log.debug("测试查询频道回调设置接口成功,{}", JSON.toJSONString(liveChannelCallbackSettingResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelCallbackSettingResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| recordCallbackUrl | String | 錄製生成回調URL |
| playbackCallbackUrl | String | 錄製影片轉存成功回調URL |
| streamCallbackUrl | String | 串流狀態回調URL |
| liveScanCallbackUrl | String | 直播內容審核回調URL |
| recordCallbackVideoType | String | 錄製回調的影片類型,多個影片類型用,分隔 |
| playbackCacheCallbackUrl | String | 回放快取生成成功的回調URL |
| pptRecordCallbackUrl | String | 課件重製成功回調URL |
| globalSettingEnabled | String | 是否套用全域設定開關,Y走用戶回調設定,N走頻道設定 |
28、設定頻道回呼設定
描述
设置频道回调设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/update-setting
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、若頻道需要跟隨用戶設定,可呼叫設定頻道預設項開關介面
單元測試
@Test
public void testUpdateChannelCallbackSetting() throws Exception {
LiveUpdateChannelCallbackSettingRequest liveUpdateChannelCallbackSettingRequest =
new LiveUpdateChannelCallbackSettingRequest();
Boolean liveUpdateChannelCallbackSettingResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveUpdateChannelCallbackSettingRequest.setChannelId(channelId);
liveUpdateChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().updateChannelCallbackSetting(
liveUpdateChannelCallbackSettingRequest);
Assert.assertTrue(liveUpdateChannelCallbackSettingResponse);
if (liveUpdateChannelCallbackSettingResponse) {
//to do something ......
log.debug("测试设置频道回调设置成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| recordCallbackVideoType | false | String | 錄製回調檔案類型,可選值 m3u8 或 mp4 或 m3u8,mp4 |
| recordCallbackUrl | false | String | 錄製回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| playbackCallbackUrl | false | String | 轉存成功回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| streamCallbackUrl | false | String | 串流狀態回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| pptRecordCallbackUrl | false | String | 課件重製成功回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| liveScanCallbackUrl | false | String | 直播內容鑑別回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| playbackCacheCallbackUrl | false | String | 回放轉存回調 http(s) 地址,需要 URL 編碼,若要清空設定請傳入空字串 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
null
29、批次建立角色
描述
批量创建角色
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/account/batch-create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、批量建立角色,角色支援 guest(嘉賓)、assistant(助教)
單元測試
@Test
public void testCreateSonChannelList() throws Exception {
LiveCreateSonChannelListRequest liveCreateSonChannelListRequest = new LiveCreateSonChannelListRequest();
LiveCreateSonChannelListResponse liveCreateSonChannelListResponse;
try {
//准备测试数据
String channelId = super.createChannel();
List<LiveCreateSonChannelListRequest.SonChannel> sonChannels =
new ArrayList<LiveCreateSonChannelListRequest.SonChannel>();
LiveCreateSonChannelListRequest.SonChannel sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
sonChannel1.setRole("Guest")
.setNickname("嘉宾甲")
.setPasswd(getRandomString(10))
.setActor("博士")
.setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
"3965499425&fm=26&gp=0.jpg");
sonChannels.add(sonChannel1);
sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
sonChannel1.setRole(null)
.setNickname("助教甲")
.setPasswd(getRandomString(10))
.setActor("助教")
.setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
"3965499425&fm=26&gp=0.jpg");
sonChannels.add(sonChannel1);
liveCreateSonChannelListRequest.setChannelId(channelId).setSonChannels(sonChannels);
liveCreateSonChannelListResponse = new LiveChannelOperateServiceImpl().createSonChannelList(
liveCreateSonChannelListRequest);
Assert.assertNotNull(liveCreateSonChannelListResponse);
if (liveCreateSonChannelListResponse != null) {
//to do something ......
log.debug("测试批量创建角色成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveCreateSonChannelListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| sonChannels | true | Array | 角色資訊【詳見SonChannel參數描述】 |
| appId | false | String | POLYV用戶APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
SonChannel參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| role | false | String | 預設不傳為助教,傳Guest為嘉賓 |
| nickname | false | String | 建立的助教或嘉賓暱稱 |
| passwd | false | String | 角色密碼 |
| actor | false | String | 建立的助教或嘉賓頭銜 |
| avatar | false | String | 建立的助教或嘉賓頭像 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| sonChannelInfos | Array | 角色回傳資訊【詳見SonChannelInfo參數描述】 |
SonChannelInfo參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| account | String | 助教ID |
| userId | String | POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| channelId | String | 頻道號 |
| passwd | String | 助教密碼 |
| nickname | String | 助教名稱 |
| stream | String | 助教串流名稱(單獨使用無效) |
| status | String | 助教狀態(Y/N) |
| createdTime | Date | 建立助教時間 |
| lastModified | Date | 助教最後修改時間 |
| sort | Integer | 頻道中所有助教序號 |
| avatar | String | 助教頭像 |
| pageTurnEnabled | String | 助教翻頁權限(只能一個助教擁有) Y:開啟 N:關閉 |
| notifyEnabled | String | 發布公告權限(Y/N) |
| checkinEnabled | String | 開啟簽到權限(Y/N) |
| voteEnabled | String | 發起投票(Y/N) |
| role | String | 角色 assistant:助教 guest:嘉賓 |
| loginUrl | String | 子帳號(嘉賓)登入地址 |
30、取得帳號或頻道轉播列表資訊
描述
获取账号或频道转播列表信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/transmit/get-associations
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelTransmitList() throws Exception {
LiveChannelTransmitListRequest liveChannelTransmitListRequest = new LiveChannelTransmitListRequest();
LiveChannelTransmitListResponse liveChannelTransmitListResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelTransmitListRequest.setChannelId(channelId);
liveChannelTransmitListResponse = new LiveChannelOperateServiceImpl().getChannelTransmitList(
liveChannelTransmitListRequest);
Assert.assertNotNull(liveChannelTransmitListResponse);
if (liveChannelTransmitListResponse != null) {
//to do something ......
log.debug("测试获取账号或频道转播列表信息成功,{}", JSON.toJSONString(liveChannelTransmitListResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelTransmitListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | 否 | String | 頻道號,若不傳入,則查詢 appId 對應帳號下所有轉播頻道關聯關係 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelTransmits | Array | 帳號或頻道轉播資訊【詳見ChannelTransmit參數說明】 |
ChannelTransmit參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelId | String | 發起轉播的頻道號,若接收轉播的頻道未關聯主頻道,則此值為 null |
| receiveChannelId | String | 接收轉播的頻道號 |
31、設定頻道最大在線人數
描述
设置频道最大在线人数
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelRestrict/%s/set-max-viewer
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelMaxViewer() throws Exception {
LiveUpdateChannelMaxViewerRequest liveUpdateChannelMaxViewerRequest = new LiveUpdateChannelMaxViewerRequest();
Boolean liveUpdateChannelMaxViewerResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveUpdateChannelMaxViewerRequest.setChannelId(channelId).setMaxViewer(Integer.MAX_VALUE);
liveUpdateChannelMaxViewerResponse = new LiveChannelOperateServiceImpl().updateChannelMaxViewer(
liveUpdateChannelMaxViewerRequest);
Assert.assertTrue(liveUpdateChannelMaxViewerResponse);
if (liveUpdateChannelMaxViewerResponse) {
//to do something ......
log.debug("测试设置频道最大在线人数成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| userId | false | String | POLYV 用戶 ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| maxViewer | true | Integer | 最大觀看線上人數,等於 0 時表示關閉線上人數觀看限制,最大值為 2147483647 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
回傳物件描述
true 表示設定成功,false 表示設定失敗
32、查詢頻道廣告列表
描述
查询频道广告列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/advert/list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、提供查詢頻道輪播廣告列表資訊,頻道廣告為空時,取得全域廣告
單元測試
@Test
public void testGetChannelAdvertList() throws Exception {
LiveChannelAdvertListRequest liveChannelAdvertListRequest = new LiveChannelAdvertListRequest();
LiveChannelAdvertListResponse liveChannelAdvertListResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelAdvertListRequest.setChannelId(channelId);
liveChannelAdvertListResponse = new LiveChannelOperateServiceImpl().getChannelAdvertList(
liveChannelAdvertListRequest);
Assert.assertNotNull(liveChannelAdvertListResponse);
if (liveChannelAdvertListResponse != null) {
//to do something ......
log.debug("测试查询频道广告列表成功,{}", JSON.toJSONString(liveChannelAdvertListResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳 LiveChannelAdvertListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件校驗失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelAdverts | Array | 頻道廣告【詳見ChannelAdvert參數描述】 |
ChannelAdvert參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| text | String | 文字廣告內容 |
| img | String | 圖片廣告連結 |
| href | String | 跳轉連結 |
33、查詢頻道直播截圖
描述
查询频道直播截图
接口地址(仅做说明使用):https://api.polyv.net/live/v2/stream/%s/capture
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、如果直播未開啟,將拋出「channel is not live.」異常
單元測試
@Test
public void testGetChannelCapture() throws Exception {
LiveChannelCaptureRequest liveChannelCaptureRequest = new LiveChannelCaptureRequest();
String liveChannelCaptureResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveChannelCaptureRequest.setChannelId(channelId);
liveChannelCaptureResponse = new LiveChannelOperateServiceImpl().getChannelCapture(
liveChannelCaptureRequest);
Assert.assertNotNull(liveChannelCaptureResponse);
if (liveChannelCaptureResponse != null) {
//to do something ......
log.debug("测试查询频道直播截图成功,{}", JSON.toJSONString(liveChannelCaptureResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,返回 String 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
返回圖片 HTTP 位址,
34、修改直播推流方式
描述
修改直播推流方式
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、直播過程中不允許修改直播方式
單元測試
@Test
public void testUpdateChannelStream() throws Exception {
LiveUpdateChannelStreamRequest liveUpdateChannelStreamRequest = new LiveUpdateChannelStreamRequest();
Boolean liveUpdateChannelStreamResponse;
try {
//准备测试数据
String channelId = super.createChannel();
liveUpdateChannelStreamRequest.setStreamType("disk").setChannelId(channelId);
liveUpdateChannelStreamResponse = new LiveChannelOperateServiceImpl().updateChannelStream(
liveUpdateChannelStreamRequest);
Assert.assertTrue(liveUpdateChannelStreamResponse);
if (liveUpdateChannelStreamResponse) {
//to do something ......
log.debug("测试修改直播推流方式成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 直播頻道號 |
| streamType | true | String | 直播方式,client:客戶端推流;disk:硬碟推流;audio:音訊直播;pull:拉流直播 |
| pullUrl | false | String | 拉流地址 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號調用時該參數必填(即調用了 initMultiAccount() 設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
回傳物件描述
true 表示修改推流方式成功,false 表示修改失敗
35、設定硬碟推流直播
描述
设置硬盘推流直播
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/add-disk-videos
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、呼叫 API 後,若當前頻道未在直播中,系統會自動將直播方式設為「硬碟推流」。若當前正在使用其他直播推流方式進行直播,則需在直播結束後,呼叫《修改直播推流方式》將其改為硬碟推流,才會在設定的開始時間進行直播。
3、無延遲頻道不可修改為硬碟推流
4、僅純影片模式支援硬碟推流
5、不支援設定加密影片為硬碟推流
單元測試
@Test
public void testCreateDiskVideosStream() throws Exception {
LiveCreateDiskVideosStreamRequest liveCreateDiskVideosStreamRequest = new LiveCreateDiskVideosStreamRequest();
Boolean liveCreateDiskVideosStreamResponse;
try {
//准备测试数据
String channelId = super.getAloneChannelId();
//保利威云点播视频列表的VID,需导入保利威点播SDK,调用new VodQueryServiceImpl().searchVideoList()获取VideoId
String videoId = "1b448be323d7eaee38dcead42f053911_1";
liveCreateDiskVideosStreamRequest.setVideoIds(videoId)
.setStartTimes(super.getDate(System.currentTimeMillis() + 60 * 1000))
.setChannelId(channelId);
liveCreateDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().createDiskVideosStream(
liveCreateDiskVideosStreamRequest);
Assert.assertTrue(liveCreateDiskVideosStreamResponse);
if (liveCreateDiskVideosStreamResponse) {
//to do something ......
log.debug("测试设置硬盘推流直播成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| videoIds | true | String | 要設定硬碟推流的點播影片ID【對應API文件的vids欄位】 |
| startTimes | true | Date | 硬碟推流開始時間 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 為設定硬碟推流直播成功,false 為修改失敗
36、刪除硬碟推流的影片
描述
删除硬盘推流的视频
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/delete-disk-videos
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、刪除偽直播中的影片,不允許刪除正在偽直播中的影片
單元測試
@Test
public void testDeleteDiskVideosStream() throws Exception {
LiveDeleteDiskVideosStreamRequest liveDeleteDiskVideosStreamRequest = new LiveDeleteDiskVideosStreamRequest();
Boolean liveDeleteDiskVideosStreamResponse;
try {
//准备测试数据
String channelId = super.getAloneChannelId();
liveDeleteDiskVideosStreamRequest.setVideoIds("1b448be323d7eaee38dcead42f053911_1").setChannelId(channelId);
liveDeleteDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().deleteDiskVideosStream(
liveDeleteDiskVideosStreamRequest);
Assert.assertTrue(liveDeleteDiskVideosStreamResponse);
if (liveDeleteDiskVideosStreamResponse) {
//to do something ......
log.debug("测试删除硬盘推流的视频成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| videoIds | true | String | 要刪除的硬碟推流影片ID【對應API文件的vids欄位】 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時此參數必填(即調用了initMultiAccount()設置多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 為刪除硬碟推流直播成功,false 為刪除失敗
37、批次修改頻道彈幕開關
描述
调用后频道会关闭掉通用设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batchUpdateDanmu
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testBatchUpdateBarrage() throws Exception {
LiveBatchUpdateBarrageRequest liveBatchUpdateBarrageRequest = new LiveBatchUpdateBarrageRequest();
Boolean liveBatchUpdateBarrageResponse;
try {
//准备测试数据
String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
liveBatchUpdateBarrageRequest.setChannelIds(channelIds).setCloseBarrage("Y").setShowBarrageInfoEnabled("Y");
liveBatchUpdateBarrageResponse = new LiveChannelOperateServiceImpl().batchUpdateBarrage(
liveBatchUpdateBarrageRequest);
Assert.assertTrue(liveBatchUpdateBarrageResponse);
if (liveBatchUpdateBarrageResponse) {
//to do something ......
log.debug("测试批量修改频道弹幕开关成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| closeBarrage | true | String | 是否關閉彈幕功能 Y:表示關閉 N:表示開啟【對應 API 文件的 closeDanmu 欄位】 |
| showBarrageInfoEnabled | true | String | 是否顯示彈幕資訊開關, Y:表示顯示 N:表示不顯示【對應 API 文件的 showDanmuInfoEnabled 欄位】 |
| channelIds | true | String | 需要修改彈幕開關的頻道號,多個頻道號用半形逗號 , 隔開 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 為批量修改頻道彈幕開關成功,false 為批量修改失敗
38、查詢報名觀看記錄
描述
查询频道报名观看记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/enroll/list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetLiveEnrollList() throws IOException, NoSuchAlgorithmException {
LiveGetEnrollListRequest liveGetEnrollListRequest = new LiveGetEnrollListRequest();
LiveGetEnrollListResponse liveGetEnrollListResponse;
try {
String channelId = super.createChannel();
liveGetEnrollListRequest.setChannelId(channelId);
liveGetEnrollListResponse = new LiveChannelOperateServiceImpl().getLiveEnrollList(liveGetEnrollListRequest);
Assert.assertNotNull(liveGetEnrollListResponse);
if (liveGetEnrollListResponse != null) {
//to do something ......
log.debug("测试查询报名观看记录成功{}", JSON.toJSONString(liveGetEnrollListResponse));
}
} 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、請求正確,回傳 LiveGetEnrollListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| auditEnabled | String | 頻道報名審核開關 Y:開啟 N:關閉 |
| list | Array | 報名觀看記錄【詳見LiveEnrollList參數描述】 |
LiveEnrollList參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| viewerId | String | 觀眾ID |
| mobile | String | 手機號碼 |
| createTime | Date | 報名時間 |
| hasWatched | String | 是否已觀看 Y:是 N:否 |
| promoteId | String | 推廣渠道ID |
| promoteName | String | 推廣渠道名稱 |
| auditStatus | String | 審核結果 W:未審核 P:已通過 F:已拒絕 |
| fields | Array | 報名資訊【詳見LiveEnrollFields參數描述】 |
LiveEnrollFields參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| name | String | 報名資訊名稱 |
| value | String | 報名資訊值 |
39、查詢頻道頁面裝修
描述
查询频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelDecorate() throws IOException, NoSuchAlgorithmException {
LiveGetChannelDecorateRequest liveGetChannelDecorateRequest = new LiveGetChannelDecorateRequest();
LiveGetChannelDecorateResponse liveGetChannelDecorateResponse;
try {
String channelId = super.createChannel();
liveGetChannelDecorateRequest.setChannelId(channelId);
liveGetChannelDecorateResponse = new LiveChannelOperateServiceImpl().getChannelDecorate(
liveGetChannelDecorateRequest);
Assert.assertNotNull(liveGetChannelDecorateResponse);
if (liveGetChannelDecorateResponse != null) {
//to do something ......
log.debug("测试查询频道页面装修成功{}", JSON.toJSONString(liveGetChannelDecorateResponse));
}
} 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、請求正確,回傳 LiveGetChannelDecorateResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參描述
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| skin | String | 皮膚,black:時尚黑,red:喜慶紅,blue:科技藍,white:經典白,green:薄荷綠,golden:富貴金 |
| aloneWatchLayout | String | 一般直播觀看頁佈局配置(一般:normal,直式:portrait) |
| chat | DecorateChat | 裝潢中的聊天物件【詳見DecorateChat參數說明】 |
| desc | DecorateDesc | 裝潢中的中文直播介紹頁物件【詳見DecorateDesc參數說明】 |
| menus | Array | 中文選單列表物件【詳見DecorateMenus參數說明】 |
| player | DecoratePlayer | 裝潢播放器物件【詳見DecoratePlayer參數說明】 |
| pptMobileWatchLayout | String | 三分屏行動端觀看佈局,normal:一般直播,portrait:直播帶貨 |
| splash | DecorateSplash | 裝潢引導頁物件【詳見DecorateSplash參數說明】 |
| splashEnabled | String | 引導頁開關,Y:開啟,N:關閉 |
| englishSettingEnabled | String | 雙語直播間開關,Y:開啟,N:關閉 |
| enMenus | Array | 英文選單列表物件【詳見DecorateMenus參數說明】 |
| descEn | DecorateDescEn | 模板-裝潢英文直播介紹頁物件【詳見DecorateDescEn參數說明】 |
DecorateChat參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| baseLikes | Integer | 累計按讚人數 (按讚基數) |
| chatOnlineNumberEnable | String | 線上人數開關,Y:開啟,N:關閉 |
| emotionEnabled | String | 情緒直播間開關,情緒開關與按讚開關同時只能開啟一個,Y:開啟,N:關閉 |
| redPackEnabled | String | 紅包開關,Y:開啟,N:關閉 |
| sendFlowersEnabled | String | 按讚開關,Y:開啟,N:關閉 |
| viewerSendImgEnabled | String | 傳送圖片開關,Y:開啟,N:關閉 |
| welcomeEnabled | String | 歡迎語開關,Y:開啟,N:關閉 |
| withdrawEnabled | String | 提現開關,Y:開啟,N:關閉 |
DecorateDesc參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| coverImageUrl | String | 暖場圖片 -> 封面圖片 |
| iconUrl | String | 圖示URL |
| publisher | String | 主持人名稱,最大長度50 |
| title | String | 標題 -> 直播名稱,最大長度100 |
DecorateMenus參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| content | String | 選單內容 |
| menuId | String | 選單ID |
| name | String | 選單名稱 |
| type | String | 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單 |
DecoratePlayer參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| actualPV | Integer | 實際累計觀看次數 (真實次數) |
| backgroundUrl | String | PC背景圖片 |
| basePV | Integer | 基礎觀看次數 |
| coverJumpUrl | String | 封面(暖場)跳轉連結 |
| iconLink | String | 浮水印連結 |
| iconPosition | String | 圖示位置 (浮水印位置) |
| iconUrl | String | 浮水印圖片URL |
| logoOpacity | Float | 浮水印不透明度,0:完全透明,1:完全不透明 |
| warmUpEnabled | String | 暖場開關,Y:開啟,N:關閉 |
| warmUpImageUrl | String | 暖場圖片位址 (直播封面圖) |
| watermarkEnabled | String | 浮水印開關,Y:開啟,N:關閉 |
DecorateSplash參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| splashImageUrl | String | 引導頁圖片位址 |
DecorateMenus參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| content | String | 選單內容 |
| menuId | String | 選單ID |
| name | String | 選單名稱 |
| type | String | 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單 |
DecorateDescEn參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| publisher | String | 主持人英文名稱,最大長度50 |
| title | String | 直播英文名稱,最大長度100 |
40、修改頻道裝潢設定
描述
修改频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelDecorate() throws IOException, NoSuchAlgorithmException {
LiveUpdateChannelDecorateRequest liveUpdateChannelDecorateRequest = new LiveUpdateChannelDecorateRequest();
Boolean liveUpdateChannelDecorateResponse;
try {
String channelId = super.createChannel();
liveUpdateChannelDecorateRequest.setChannelId(channelId);
LiveUpdateChannelDecorateRequest.DecorateChat chat = new LiveUpdateChannelDecorateRequest.DecorateChat();
chat.setBaseLikes(2000)
.setChatOnlineNumberEnable(LiveConstant.Flag.YES.getFlag())
.setRedPackEnabled(LiveConstant.Flag.YES.getFlag());
List<LiveUpdateChannelDecorateRequest.DecorateMenus> menus = new ArrayList<>();
LiveUpdateChannelDecorateRequest.DecorateMenus menu1 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
LiveUpdateChannelDecorateRequest.DecorateMenus menu2 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
menu1.setType(LiveConstant.MenuType.DESC.getType()).setName("直播介绍");
menu2.setType(LiveConstant.MenuType.TEXT.getType()).setName("图文菜单");
menus.add(menu1);
menus.add(menu2);
liveUpdateChannelDecorateRequest.setChat(chat)
.setEnglishSettingEnabled(LiveConstant.Flag.NO.getFlag())
.setSkin(LiveConstant.Skin.GOLDEN.getValue())
.setSplashEnabled(LiveConstant.Flag.YES.getFlag())
.setMenus(menus);
liveUpdateChannelDecorateResponse = new LiveChannelOperateServiceImpl().updateChannelDecorate(
liveUpdateChannelDecorateRequest);
Assert.assertTrue(liveUpdateChannelDecorateResponse);
if (liveUpdateChannelDecorateResponse) {
//to do something ......
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| skin | false | String | 皮膚,black:時尚黑,red:喜慶紅,blue:科技藍,white:經典白,green:薄荷綠,golden:富貴金 |
| chat | false | DecorateChat | 裝修裡的聊天對象【詳見DecorateChat參數描述】 |
| desc | false | DecorateDesc | 裝修中的中文直播介紹頁對象【詳見DecorateDesc參數描述】 |
| menus | false | Array | 中文菜單列表對象【詳見DecorateMenus參數描述】 |
| player | false | DecoratePlayer | 裝修播放器對象【詳見DecoratePlayer參數描述】 |
| splash | false | DecorateSplash | 裝修引導頁對象【詳見DecorateSplash參數描述】 |
| splashEnabled | false | String | 引導頁開關,Y:開啟,N:關閉 |
| englishSettingEnabled | false | String | 雙語直播間開關,Y:開啟,N:關閉 |
| enMenus | false | Array | 英文菜單列表對象【詳見DecorateMenus參數描述】 |
| descEn | false | DecorateDescEn | 模板-裝修英文直播介紹頁對象【詳見DecorateDescEn參數描述】 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設置多帳號調用),通過註冊保利威官網獲取,路徑:官網->登入->直播(開發設置) |
DecorateChat參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| baseLikes | false | Integer | 累計按讚人數 (按讚基數) |
| chatOnlineNumberEnable | false | String | 線上人數開關,Y:開啟,N:關閉 |
| emotionEnabled | false | String | 情緒直播間開關,情緒開關和按讚開關同時只能開啟一個,Y:開啟,N:關閉 |
| redPackEnabled | false | String | 紅包開關,Y:開啟,N:關閉 |
| sendFlowersEnabled | false | String | 按讚開關,Y:開啟,N:關閉 |
| viewerSendImgEnabled | false | String | 發送圖片開關,Y:開啟,N:關閉 |
| welcomeEnabled | false | String | 歡迎語開關,Y:開啟,N:關閉 |
| withdrawEnabled | false | String | 提現開關,Y:開啟,N:關閉 |
DecorateDesc參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| iconUrl | false | String | 圖示URL |
| publisher | false | String | 主持人名稱,最大長度50 |
| title | false | String | 標題 -> 直播名稱,最大長度100 |
DecorateMenus參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| content | false | String | 選單內容 |
| menuId | false | String | 選單ID |
| name | true | String | 選單名稱 |
| type | true | String | 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單 |
DecoratePlayer參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| actualPV | false | Integer | 實際累計觀看次數 (真實次數) |
| backgroundUrl | false | String | PC背景圖片 |
| basePV | false | Integer | 基礎觀看次數 |
| coverJumpUrl | false | String | 封面(暖場)跳轉連結 |
| iconLink | false | String | 浮水印連結 |
| iconPosition | false | String | 圖示位置 (浮水印位置) |
| iconUrl | false | String | 浮水印圖片URL |
| logoOpacity | false | Float | 浮水印不透明度,0:完全透明,1:完全不透明 |
| warmUpEnabled | false | String | 暖場開關,Y:開啟,N:關閉 |
| warmUpImageUrl | false | String | 暖場圖片位址 (直播封面圖) |
| watermarkEnabled | false | String | 浮水印開關,Y:開啟,N:關閉 |
DecorateSplash參數描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| splashImageUrl | false | String | 引導頁圖片位址 |
DecorateMenus參數描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| content | false | String | 選單內容 |
| menuId | false | String | 選單 ID |
| name | true | String | 選單名稱 |
| type | true | String | 選單類型 desc:直播介紹 chat:互動聊天 quiz:提問 qa:問答 invite:邀請海報 text:圖文選單 |
DecorateDescEn參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| publisher | false | String | 主持人英文名稱,最大長度50 |
| title | false | String | 直播英文名稱,最大長度100 |
回傳物件描述
修改頻道裝潢設定回傳實體
41、複製頻道
描述
通过一个频道复制出一个新的频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/copy
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCopyChannel() throws Exception {
LiveChannelCopyRequest liveChannelCopyRequest = new LiveChannelCopyRequest();
LiveChannelCopyResponse liveChannelCopyResponse;
try {
String channelId = super.getAloneNewChannelId();
liveChannelCopyRequest.setChannelId(channelId).setName("sdk测试复制频道");
liveChannelCopyResponse = new LiveChannelOperateServiceImpl().copyChannel(liveChannelCopyRequest);
Assert.assertNotNull(liveChannelCopyResponse);
if (liveChannelCopyResponse != null) {
//to do something ......
log.debug("测试复制频道成功 {}", JSON.toJSONString(liveChannelCopyResponse));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.deleteChannel(liveChannelCopyResponse.getChannelId());
}
} 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、請求正確,回傳 LiveChannelCopyResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 需要複製頻道的頻道號 |
| name | false | String | 新的頻道名稱,預設為複製頻道的頻道名稱 |
| categoryId | false | Integer | 新的頻道所屬分類ID,預設為預設分類 |
| startTime | false | String | 頻道開始時間,格式:yyyy-MM-DD HH:mm:ss,預設為複製頻道的開始時間 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
42、批次修改頻道外觀
描述
批量修改频道装修皮肤
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/skin/update-batch
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelSkin() throws IOException, NoSuchAlgorithmException {
LiveUpdateChannelSkinRequest liveUpdateChannelSkinRequest = new LiveUpdateChannelSkinRequest();
Boolean liveUpdateChannelSkinResponse;
try {
String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
liveUpdateChannelSkinRequest.setChannelIds(channelIds).setSkin("red");
liveUpdateChannelSkinResponse = new LiveChannelOperateServiceImpl().updateChannelSkin(
liveUpdateChannelSkinRequest);
Assert.assertTrue(liveUpdateChannelSkinResponse);
if (liveUpdateChannelSkinResponse) {
//to do something ......
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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelIds | true | String | 以英文逗號分隔的頻道號,例如:10000,100001,最多10000個 |
| skin | true | String | 皮膚 black:時尚黑 red:喜慶紅 blue:科技藍 white:經典白 green:薄荷綠 golden:富貴金 |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時此參數必填(即已調用initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時此參數必填(即已調用initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
批量修改頻道皮膚回傳實體
43、取得頻道關注公眾號設定資訊
描述
查询关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/list-channels-follow
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testListChannelsFollow() throws IOException, NoSuchAlgorithmException {
LiveListChannelsFollowRequest liveListChannelsFollowRequest = new LiveListChannelsFollowRequest();
LiveListChannelsFollowResponse liveListChannelsFollowResponse;
try {
String channelId = super.createChannel();
liveListChannelsFollowRequest.setChannelIds(channelId);
liveListChannelsFollowResponse = new LiveChannelOperateServiceImpl().listChannelsFollow(
liveListChannelsFollowRequest);
Assert.assertNotNull(liveListChannelsFollowResponse);
if (liveListChannelsFollowResponse != null) {
//to do something ......
log.debug("测试获取频道关注公众号设置信息成功 {}", JSON.toJSONString(liveListChannelsFollowResponse));
}
} 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、請求正確,回傳 LiveListChannelsFollowResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelIds | 是 | String | 頻道號碼,多個頻道請用「,」分隔 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),可透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| appSecret | 否 | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),可透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| list | Array | 追蹤公眾號設定列表【詳見ChannelsFollow參數描述】 |
ChannelsFollow參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道號 |
| enabled | String | 關注公眾號功能開關,開啟Y、關閉N |
| autoShowEnabled | String | 主動彈窗開關,開啟Y、關閉N |
| qrCodeUrl | String | 二維碼圖片連結位址 |
| entranceText | String | 入口文案 |
| tips | String | 彈窗提示文案 |
44、修改頻道關注公眾號設定資訊
描述
更新关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/update-channels-follow
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelsFollow() throws IOException, NoSuchAlgorithmException {
LiveUpdateChannelsFollowRequest liveUpdateChannelsFollowRequest = new LiveUpdateChannelsFollowRequest();
Boolean liveUpdateChannelsFollowResponse;
try {
String channelId = super.createChannel();
liveUpdateChannelsFollowRequest.setChannelIds(channelId);
liveUpdateChannelsFollowRequest.setEnabled("Y");
liveUpdateChannelsFollowRequest.setAutoShowEnabled("Y");
liveUpdateChannelsFollowRequest.setEntranceText("welcome");
liveUpdateChannelsFollowRequest.setTips("tips");
liveUpdateChannelsFollowRequest.setQrCodeUrl(
"https://wwwimg.polyv.net/assets/dist/images/web3.0/c-footer/ft-wechat-qrcode.png");
liveUpdateChannelsFollowResponse = new LiveChannelOperateServiceImpl().updateChannelsFollow(
liveUpdateChannelsFollowRequest);
Assert.assertNotNull(liveUpdateChannelsFollowResponse);
if (liveUpdateChannelsFollowResponse != null) {
//to do something ......
log.debug("测试修改频道关注公众号设置信息成功 {}", JSON.toJSONString(liveUpdateChannelsFollowResponse));
}
} 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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelIds | true | String | 頻道號,多個頻道用「,」分隔 |
| qrCodeUrl | true | String | 圖片連結位址 |
| enabled | false | String | 關注公眾號功能開關,為空則不進行修改 Y:開啟 N:關閉 |
| autoShowEnabled | false | String | 主動彈窗開關,為空則不進行修改 Y:開啟 N:關閉 |
| entranceText | false | String | 入口文案,最多8個字元,為空則不進行修改 |
| tips | false | String | 彈窗提示文案,最多30個字元,為空則不進行修改 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示修改成功,false 表示回傳失敗
45、批次刪除頻道多條聊天記錄
描述
根据聊天的id删除对应聊天记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/remove-contents
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testRemoveChatContents() throws IOException, NoSuchAlgorithmException {
LiveRemoveChatContentsRequest liveRemoveChatContentsRequest = new LiveRemoveChatContentsRequest();
Boolean liveRemoveChatContentsResponse;
try {
String channelId = super.createChannel();
liveRemoveChatContentsRequest.setChannelId(channelId);
liveRemoveChatContentsRequest.setIds("c71c7240-86cd-11eb-a963-e9bab7dc4d86");
liveRemoveChatContentsResponse = new LiveChannelOperateServiceImpl().removeChatContents(
liveRemoveChatContentsRequest);
Assert.assertNotNull(liveRemoveChatContentsResponse);
if (liveRemoveChatContentsResponse != null) {
//to do something ......
log.debug("测试批量删除频道多条聊天记录成功 {}", JSON.toJSONString(liveRemoveChatContentsResponse));
}
} 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.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| ids | true | String | 聊天記錄對應的 id(多個 id 使用英文逗號分隔),該參數取自【查詢頻道聊天記錄】 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示刪除成功,false 表示刪除失敗
