channelService
1、建立研討會頻道(舊版後台)
描述
创建频道并进行相关设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannel() throws IOException, NoSuchAlgorithmException {
SeminarCreateChannelRequest seminarCreateChannelRequest = new SeminarCreateChannelRequest();
SeminarCreateChannelResponse seminarCreateChannelResponse;
try {
SeminarCreateChannelRequest.BasicSetting basicSetting = new SeminarCreateChannelRequest.BasicSetting();
basicSetting.setName("测试SDK创建研讨会")
.setChannelPasswd(super.getRandomString(6))
.setCategoryId(super.getCategory());
SeminarCreateChannelRequest.AuthSetting authSetting = new SeminarCreateChannelRequest.AuthSetting();
authSetting.setRank(1)
.setEnabled(SeminarConstant.Flag.YES.getFlag())
.setAuthType(SeminarConstant.AuthType.CODE.getCode())
.setAuthCode("123");
seminarCreateChannelRequest.setBasicSetting(basicSetting).setAuthSettings(Arrays.asList(authSetting));
seminarCreateChannelResponse = new SeminarChannelServiceImpl().createChannel(seminarCreateChannelRequest);
Assert.assertNotNull(seminarCreateChannelResponse);
if (seminarCreateChannelResponse != null) {
//to do something ......
log.debug("测试创建研讨会频道(旧版后台)成功 {}", JSON.toJSONString(seminarCreateChannelResponse));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.deleteChannel(seminarCreateChannelResponse.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、請求正確,回傳 SeminarCreateChannelResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| basicSetting | true | BasicSetting | 基礎設定【詳見BasicSetting參數說明】 |
| authSettings | false | Array | 觀看條件設定【詳見AuthSetting參數說明】 |
BasicSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 頻道名稱 |
| channelPasswd | true | String | 頻道密碼(可透過頻道號碼+頻道密碼登入該頻道),長度不得超過16位,必須同時包含字母與數字 |
| categoryId | false | Integer | 新建頻道所屬分類,若不提交則為預設分類(分類ID可透過「查詢直播分類」介面取得) |
| coverImg | false | String | 封面圖片網址 |
| likes | false | Long | 按讚數 |
| pageView | false | Long | 累積觀看數 |
| subAccount | false | String | 子帳號電子郵件,填寫時頻道將建立於該子帳號下(子帳號不可被刪除或停用),暫無法透過介面取得 |
AuthSetting參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| enabled | true | String | 是否開啟條件觀看 N:關閉 Y:開啟 |
| authType | false | String | pay:付費觀看 code:驗證碼觀看 phone:白名單觀看 info:登記觀看 custom:自訂授權觀看 external:外部授權觀看 direct:獨立授權觀看 |
| payAuthTips | false | String | 當authType為pay時,設定參數,必填。歡迎語標題 |
| price | false | Float | 當authType為pay時,設定參數,必填。價格,單位為元 |
| watchEndTime | false | Date | 當authType為pay時,設定參數,非必填。付費有效截止日期 |
| validTimePeriod | false | Integer | 當authType為pay時,設定參數,非必填。付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| authCode | false | String | 當authType為code時,設定參數,必填。驗證碼 |
| qcodeTips | false | String | 當authType為code時,設定參數,非必填。提示文案 |
| qcodeImg | false | String | 當authType為code時,設定參數,非必填。公眾號二維碼地址 |
| authTips | false | String | 當authType為phone時,設定參數,非必填。提示文案 |
| infoFields | false | Array | 當authType為info時,設定參數,必填。登記觀看資訊,上限為5個【詳見InfoField參數描述】 |
| externalKey | false | String | 當authType為external時,設定參數,必填。SecretKey |
| externalUri | false | String | 當authType為external時,設定參數,必填。自訂url |
| externalRedirectUri | false | String | 當authType為external時,設定參數,非必填。跳轉地址 |
| customKey | false | String | 當authType為custom時,設定參數,必填。SecretKey |
| customUri | false | String | 當authType為custom時,設定參數,必填。自訂url |
| directKey | false | String | 當authType為direct時,設定參數,必填。獨立授權SecretKey |
InfoField參數描述
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| name | 否 | String | 登記資訊名稱,最多8個字元 |
| type | 是 | String | 登記類型,姓名-name,文字-text,手機號碼-mobile,數字-number,下拉選項-option,登記觀看時此欄位必填 |
| options | 否 | String | 下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多8個字元 |
| placeholder | 否 | String | 文字框輸入提示,最多8個字元 |
| sms | 否 | String | 簡訊驗證開關,Y 開啟,N 關閉 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelId | String | 直播頻道號碼 |
| userId | String | POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定) |
| name | String | 直播頻道名稱 |
| publisher | String | 主持人 |
| description | String | 直播頻道描述 |
| scene | String | 直播場景 seminar:研討會 |
| channelPasswd | String | 頻道密碼 |
| currentTimeMillis | Date | 目前時間 |
2、建立研討會頻道(新版後台)
描述
根据直播默认模板创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelV2() throws IOException, NoSuchAlgorithmException {
SeminarCreateChannelV2Request seminarCreateChannelV2Request = new SeminarCreateChannelV2Request();
SeminarCreateChannelV2Response seminarCreateChannelV2Response;
try {
seminarCreateChannelV2Request.setName("测试SDK创建研讨会")
.setSeminarHostPassword(super.getRandomString(6))
.setSeminarAttendeePassword(super.getRandomString(8))
.setCategoryId(super.getCategory())
.setStartTime(super.getDate(System.currentTimeMillis() + 600 * 1000))
.setLinkMicLimit(15);
seminarCreateChannelV2Response = new SeminarChannelServiceImpl().createChannelV2(
seminarCreateChannelV2Request);
Assert.assertNotNull(seminarCreateChannelV2Response);
if (seminarCreateChannelV2Response != null) {
//to do something ......
log.debug("测试创建研讨会频道(新版后台)成功 {}", JSON.toJSONString(seminarCreateChannelV2Response));
//TODO 此处创建完成后删除了频道,正式使用需删除该语句
super.deleteChannel(String.valueOf(seminarCreateChannelV2Response.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、請求正確,回傳 SeminarCreateChannelV2Response 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| name | true | String | 直播名稱,最大長度100 |
| seminarHostPassword | false | String | 研討會主持人密碼,僅直播場景為研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼與參會人密碼不能相同。 |
| seminarAttendeePassword | false | String | 研討會參會人密碼,僅直播場景為研討會時有效,長度6-16位,不傳則由系統隨機生成。研討會主持人密碼與參會人密碼不能相同。 |
| splashImg | false | String | 引導頁圖片地址,非保利威域名下的圖片需先呼叫上傳圖片資源上傳 |
| categoryId | false | Integer | 分類ID,可透過「查詢直播分類」介面取得 |
| startTime | false | Date | 開始時間 |
| subAccount | false | String | 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得 |
| linkMicLimit | false | Integer | 參會人數 1-47:代表參會人數 |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelId | String | 頻道ID |
| userId | String | POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定) |
| seminarHostPassword | String | 研討會主持人密碼,僅直播場景為研討會時不為 null,長度 6-16 位 |
| seminarAttendeePassword | String | 研討會與會者密碼,僅直播場景為研討會時不為 null,長度 6-16 位 |
3、取得研討會頻道錄製設定
描述
获取研讨会频道录制设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/seminar/setting/get-record
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetRecordSetting() throws IOException, NoSuchAlgorithmException {
SeminarGetRecordSettingRequest seminarGetRecordSettingRequest = new SeminarGetRecordSettingRequest();
SeminarGetRecordSettingResponse seminarGetRecordSettingResponse;
try {
String channelId = super.getChannelId();
seminarGetRecordSettingRequest.setChannelId(channelId);
seminarGetRecordSettingResponse = new SeminarChannelServiceImpl().getRecordSetting(
seminarGetRecordSettingRequest);
Assert.assertNotNull(seminarGetRecordSettingResponse);
if (seminarGetRecordSettingResponse != null) {
//to do something ......
log.debug("测试获取研讨会频道录制设置成功 {}", JSON.toJSONString(seminarGetRecordSettingResponse));
}
} 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、請求正確,回傳 SeminarGetRecordSettingResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道ID |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| enabled | String | 錄製開關,Y開啟、N關閉 |
| mode | String | 錄製模式,auto自動、manual手動 |
| channelId | String | 直播頻道號 |
| userId | String | POLYV用戶ID,透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| resolution | String | 解析度 |
4、修改研討會頻道錄製設定
描述
修改研讨会频道录制设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/seminar/setting/set-record
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testSetRecordSetting() throws IOException, NoSuchAlgorithmException {
SeminarSetRecordSettingRequest seminarSetRecordSettingRequest = new SeminarSetRecordSettingRequest();
Boolean seminarSetRecordSettingResponse;
try {
String channelId = super.getChannelId();
seminarSetRecordSettingRequest.setChannelId(channelId)
.setRecordMode(SeminarConstant.RecordMode.manual.getModel())
.setEnabled(SeminarConstant.Flag.YES.getFlag());
seminarSetRecordSettingResponse = new SeminarChannelServiceImpl().setRecordSetting(
seminarSetRecordSettingRequest);
Assert.assertTrue(seminarSetRecordSettingResponse);
if (seminarSetRecordSettingResponse) {
//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 | 頻道ID |
| enabled | true | String | 錄製開關,Y開啟、N關閉 |
| recordMode | true | String | 錄製模式,auto自動、manual手動 |
回傳物件描述
修改研討會頻道錄製設定返回實體
5、取得研討會直播間與會者統計資料
描述
获取研讨会直播间参会者统计数据
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/seminar/statistics/listViewLogs
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetViewLog() throws IOException, NoSuchAlgorithmException {
SeminarGetViewLogRequest seminarGetViewLogRequest = new SeminarGetViewLogRequest();
SeminarGetViewLogResponse seminarGetViewLogResponse;
try {
String channelId = super.getChannelId();
seminarGetViewLogRequest.setChannelId(channelId)
.setStartTime(super.getDate(System.currentTimeMillis() - 20 * 86400000))
.setEndTime(super.getDate(System.currentTimeMillis()))
.setPageSize(20)
.setCurrentPage(1);
seminarGetViewLogResponse = new SeminarChannelServiceImpl().getViewLog(seminarGetViewLogRequest);
Assert.assertNotNull(seminarGetViewLogResponse);
if (seminarGetViewLogResponse != null) {
//to do something ......
log.debug("测试获取研讨会直播间参会者统计数据成功 {}", JSON.toJSONString(seminarGetViewLogResponse));
}
} 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、請求正確,回傳SeminarGetViewLogResponse物件,B端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | 是 | String | 頻道ID |
| startTime | 是 | Date | 開始時間 |
| endTime | 是 | Date | 結束時間(最多只能查詢60天內的資料) |
| currentPage | 否 | Integer | 頁數,預設為1【對應API文件的pageNumber欄位】 |
| pageSize | 否 | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 與會者統計資料【詳見ViewLog參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 目前頁面【對應API文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應API文件的totalPages欄位】 |
ViewLog參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| viewerId | String | UID |
| nickName | String | 暱稱 |
| country | String | 國家 |
| province | String | 地區 |
| city | String | 城市 |
| ipAddress | String | 與會者IP |
| startTime | Date | 進入時間 |
| endTime | Date | 退出時間 |
| stayDuration | Integer | 停留時長(單位:秒) |
| micCount | Integer | 連線麥克風次數 |
| micDuration | Integer | 連線麥克風時長(單位:秒) |
| showCount | Integer | 演示次數 |
| showDuration | Integer | 演示時長(單位:秒) |
| isMobile | String | 是否為行動端,取值 Y 行動端; N PC 端 |
6、取得直播間觀眾統計資料
描述
获取直播间观众统计数据
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/statistics/listViewLogs
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetCdnViewLog() throws IOException, NoSuchAlgorithmException {
SeminarGetCdnViewLogRequest seminarGetCdnViewLogRequest = new SeminarGetCdnViewLogRequest();
SeminarGetCdnViewLogResponse seminarGetCdnViewLogResponse;
try {
String channelId = super.getChannelId();
seminarGetCdnViewLogRequest.setChannelId(channelId)
.setStartTime(super.getDate(System.currentTimeMillis() + 600 * 1000))
.setEndTime(super.getDate(System.currentTimeMillis() + 600 * 1000));
seminarGetCdnViewLogResponse = new SeminarChannelServiceImpl().getCdnViewLog(seminarGetCdnViewLogRequest);
Assert.assertNotNull(seminarGetCdnViewLogResponse);
if (seminarGetCdnViewLogResponse != null) {
//to do something ......
log.debug("测试获取直播间观众统计数据成功 {}", JSON.toJSONString(seminarGetCdnViewLogResponse));
}
} 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、請求正確,回傳SeminarGetCdnViewLogResponse物件,B端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | 是 | String | 頻道ID |
| startTime | 是 | Date | 開始時間 |
| endTime | 是 | Date | 結束時間(僅能查詢開始時間所在當月的資料;如需跨月查詢,請分開請求查詢) |
| currentPage | 否 | Integer | 頁數,預設為1【對應API文件的pageNumber欄位】 |
| pageSize | 否 | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 觀眾統計資料【詳見ViewLog參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 目前頁面【對應API文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應API文件的totalPages欄位】 |
ViewLog參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| viewerId | String | 使用者ID【對應API文件的param1欄位】 |
| viewerName | String | 使用者暱稱【對應API文件的param2欄位】 |
| logType | String | 觀看類型 vod:回放; live:直播【對應API文件的param3欄位】 |
| province | String | 地區 |
| city | String | 城市 |
| ipAddress | String | 觀眾IP |
| createdTime | Date | 進入時間 |
| endTime | Date | 退出時間 |
| playDuration | Integer | 觀看時長(單位:秒) |
| browser | String | 觀看終端 |
| sessionId | String | 場次 |
7、刪除單一頻道
描述
删除单个直播频道
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannel() throws IOException, NoSuchAlgorithmException {
SeminarDeleteChannelRequest seminarDeleteChannelRequest = new SeminarDeleteChannelRequest();
Boolean seminarDeleteChannelResponse;
try {
seminarDeleteChannelRequest.setChannelId("2801915");
seminarDeleteChannelResponse = new SeminarChannelServiceImpl().deleteChannel(seminarDeleteChannelRequest);
Assert.assertTrue(seminarDeleteChannelResponse);
if (seminarDeleteChannelResponse) {
//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. ]
請求入參說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| userId | true | String | POLYV 使用者 ID,與保利威官網一致,取得路徑:官網 -> 登入 -> 直播(開發設定) |
| channelId | true | String | 頻道號 |
回傳物件描述
刪除單個頻道返回實體
8、批次刪除頻道
描述
批量删除直播频道,如果响应失败,则表示全部频道都失败,不会有部份成功、部份失败的结果
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testBatchDeleteChannel() throws IOException, NoSuchAlgorithmException {
SeminarBatchDeleteChannelRequest seminarBatchDeleteChannelRequest = new SeminarBatchDeleteChannelRequest();
Boolean seminarBatchDeleteChannelResponse;
try {
seminarBatchDeleteChannelRequest.setChannelIds(Arrays.asList("2802164", "2798162"));
seminarBatchDeleteChannelResponse = new SeminarChannelServiceImpl().batchDeleteChannel(
seminarBatchDeleteChannelRequest);
Assert.assertTrue(seminarBatchDeleteChannelResponse);
if (seminarBatchDeleteChannelResponse) {
//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 | Array | 請求體參數,頻道號列表,每次最多刪除100個頻道,必須放在請求體中 |
回傳物件描述
批次刪除頻道回傳實體
9、查詢研討會會議類型
描述
查询研讨会会议类型
接口地址(仅做说明使用):https://api.polyv.net/meet/v1/channel/live-type/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetLiveType() throws IOException, NoSuchAlgorithmException {
SeminarGetLiveTypeRequest seminarGetLiveTypeRequest = new SeminarGetLiveTypeRequest();
SeminarGetLiveTypeResponse seminarGetLiveTypeResponse;
try {
String channelId = super.getChannelId();
seminarGetLiveTypeRequest.setChannelId(channelId);
seminarGetLiveTypeResponse = new SeminarChannelServiceImpl().getLiveType(seminarGetLiveTypeRequest);
Assert.assertNotNull(seminarGetLiveTypeResponse);
if (seminarGetLiveTypeResponse != null) {
//to do something ......
log.debug("测试查询研讨会会议类型成功 {}", JSON.toJSONString(seminarGetLiveTypeResponse));
}
} 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、請求正確,回傳 SeminarGetLiveTypeResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名稱 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| seminarLiveType | String | 會議類型 private 對內研討(預設) public 對外直播 |
10、修改研討會會議類型
描述
修改研讨会会议类型
接口地址(仅做说明使用):https://api.polyv.net/meet/v1/channel/live-type/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateLiveType() throws IOException, NoSuchAlgorithmException {
SeminarUpdateLiveTypeRequest seminarUpdateLiveTypeRequest = new SeminarUpdateLiveTypeRequest();
Boolean seminarUpdateLiveTypeResponse;
try {
String channelId = super.getChannelId();
seminarUpdateLiveTypeRequest.setChannelId(channelId);
seminarUpdateLiveTypeRequest.setSeminarLiveType("private");
seminarUpdateLiveTypeResponse = new SeminarChannelServiceImpl().updateLiveType(
seminarUpdateLiveTypeRequest);
Assert.assertNotNull(seminarUpdateLiveTypeResponse);
if (seminarUpdateLiveTypeResponse != null) {
//to do something ......
log.debug("测试修改研讨会会议类型成功 {}", JSON.toJSONString(seminarUpdateLiveTypeResponse));
}
} 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 | 頻道號 |
| seminarLiveType | true | String | 會議類型 private 內部研討 public 對外直播 |
回傳物件描述
修改研討會會議類型返回實體
