webAuth
1、新增單一白名單
描述
添加单个白名单
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/add-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateChannelWhiteList() throws Exception, NoSuchAlgorithmException {
LiveCreateChannelWhiteListRequest liveCreateChannelWhiteListRequest = new LiveCreateChannelWhiteListRequest();
Boolean liveCreateChannelWhiteListResponse;
try {
liveCreateChannelWhiteListRequest.setRank(1)
.setCode(String.valueOf(System.currentTimeMillis()))
.setName("学员1");
liveCreateChannelWhiteListResponse = new LiveWebAuthServiceImpl().createChannelWhiteList(
liveCreateChannelWhiteListRequest);
Assert.assertNotNull(liveCreateChannelWhiteListResponse);
if (liveCreateChannelWhiteListResponse) {
//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 | false | String | 頻道號(傳入頻道號則新增頻道觀看白名單,不傳頻道號則新增全域觀看白名單) |
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| code | true | String | 會員碼(最多50個字元) |
| name | false | String | 暱稱(最多50個字元) |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示新增成功,false 表示新增失敗
2、查詢頻道觀看白名單列表
描述
查询频道观看白名单列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/get-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelWhiteList() throws Exception, NoSuchAlgorithmException {
LiveChannelWhiteListRequest liveChannelWhiteListRequest = new LiveChannelWhiteListRequest();
LiveChannelWhiteListResponse liveChannelWhiteListResponse;
try {
liveChannelWhiteListRequest.setChannelId(null)
.setRank(1)
.setKeyword(null)
.setPageSize(1);
liveChannelWhiteListResponse = new LiveWebAuthServiceImpl().getChannelWhiteList(
liveChannelWhiteListRequest);
Assert.assertNotNull(liveChannelWhiteListResponse);
if (liveChannelWhiteListResponse != null) {
//to do something ......
log.debug("测试查询频道观看白名单列表成功,{}", JSON.toJSONString(liveChannelWhiteListResponse));
}
} 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、請求正確,回傳 LiveChannelWhiteListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | false | String | 頻道號,不傳則為取得全域設定 |
| rank | true | Integer | 1 為首要條件,2 為次要條件 |
| keyword | false | String | 關鍵詞,可根據會員碼與名稱查詢 |
| 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 | 白名單列表【詳見ChannelWhiteList參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 當前頁【對應API文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應API文件的totalPages欄位】 |
ChannelWhiteList參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| name | String | 暱稱(或備註) |
| phone | String | 會員碼 |
3、查詢直播頻道觀看條件
描述
查询直播频道观看条件
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/get
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelAuth() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthRequest liveChannelAuthRequest = new LiveChannelAuthRequest();
LiveChannelAuthResponse liveChannelAuthResponse;
try {
liveChannelAuthRequest.setChannelId(createChannel());
liveChannelAuthResponse = new LiveWebAuthServiceImpl().getChannelAuth(liveChannelAuthRequest);
Assert.assertNotNull(liveChannelAuthResponse);
if (liveChannelAuthResponse != null) {
//to do something ......
log.debug("测试查询直播频道观看条件成功,{}", JSON.toJSONString(liveChannelAuthResponse));
}
} 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、請求正確,回傳 LiveChannelAuthResponse 物件,B端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | false | String | 頻道號,不填則取得全域觀看條件 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| authSettings | Array | 觀看條件【詳見AuthSetting參數說明】 |
AuthSetting參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| rank | Integer | 通用參數:主要觀看條件為1,次要觀看條件為2 |
| enabled | String | 通用參數:是否開啟,Y為開啟,N為關閉 |
| authType | String | 通用參數:付費觀看-pay,驗證碼觀看-code,白名單觀看-phone,登記觀看-info,自定義授權觀看-custom,外部授權-external,直接授權-direct |
| subAuthType | String | authType為none時對應的值,public-公開觀看,wx-微信授權 |
| wxAuthExpireValue | String | subAuthType為wx時,對應的微信授權有效期,例如:3d表示3天,3h表示3小時 |
| payAuthTips | String | 付費觀看參數:歡迎語標題 |
| price | Float | 付費觀看參數:價格,單位為元 |
| watchEndTime | Date | 付費觀看參數:付費有效截止日期。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| validTimePeriod | Integer | 付費觀看參數:付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效 |
| authCode | String | 驗證碼觀看參數:驗證碼 |
| qcodeTips | String | 驗證碼觀看參數:提示文案 |
| qcodeImg | String | 驗證碼觀看參數:公眾號二維碼地址 |
| authTips | String | 當authType為phone時,設定參數,非必填。提示文案 |
| whiteListEntryText | String | 當authType為phone時,設定參數,非必填。白名單入口文案 |
| whiteListInputTips | String | 當authType為phone時,設定參數,非必填。白名單輸入提示 |
| infoFields | Array | 登記觀看參數,上限為5個【詳見InfoField參數描述】 |
| infoAuthTips | String | 當authType為info時,設定參數,非必填。歡迎標題 |
| infoDesc | String | 當authType為info時,設定參數,非必填。提示資訊 |
| infoEntryText | String | 當authType為info時,設定參數,非必填。入口文字 |
| externalKey | String | 外部授權參數:SecretKey |
| externalUri | String | 外部授權參數:自訂url |
| externalRedirectUri | String | 外部授權參數:跳轉地址 |
| externalEntryText | String | 外部授權觀看,入口文字 |
| externalButtonEnabled | String | 外部授權觀看,登入按鈕。Y為開啟,N為關閉。開啟後使用者造訪連結時,引導頁面將顯示登入按鈕 |
| customKey | String | 自訂授權參數:SecretKey |
| customUri | String | 自訂授權參數:自訂url |
| directKey | String | 直接授權參數:直接授權SecretKey |
| codeAuthTips | String | 密碼觀看條件提示資訊 |
| codeEntryText | String | 密碼觀看入口文字 |
| payEntryText | String | 付費入口文字 |
| expectedArrivalEnabled | String | 白名單觀看到勤名單開關,Y-開,N-關,預設為N |
| onceWhitelistEnabled | String | 白名單觀看不允許重複使用,預設為N,Y:是、N:否 |
| privacyStatus | String | 是否開啟隱私聲明,Y-開,N-關,預設為N |
| privacyContent | String | 隱私聲明內容 |
| inviteWatchAuditEnabled | String | 邀請觀看審核開關,Y-開,N-關,預設為N |
InfoField參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| name | String | 登記資訊名稱,最多8個字元 |
| type | String | 登記類型,姓名-name,文字-text,手機號碼-mobile,數字-number,下拉選項-option,登記觀看時此欄位必填 |
| options | String | 下拉選項時,下拉的選項值,以英文逗號分隔。選項個數上限為8個;選項內容最多8個字元 |
| placeholder | String | 文字框輸入提示,最多8個字元 |
| sms | String | 簡訊驗證開關,Y 開啟,N 關閉 |
4、設定觀看條件
描述
设置观看条件
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/update
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelAuth() throws Exception, NoSuchAlgorithmException {
LiveUpdateChannelAuthRequest liveUpdateChannelAuthRequest = new LiveUpdateChannelAuthRequest();
Boolean liveUpdateChannelAuthResponse;
try {
LiveChannelSettingRequest.AuthSetting authSetting = new LiveChannelSettingRequest.AuthSetting().setAuthType(
LiveConstant.AuthType.CODE.getDesc())
.setRank(1)
.setEnabled("Y")
.setAuthCode("123456")
.setQcodeTips("提示文案测试2")
.setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
List<LiveChannelSettingRequest.AuthSetting> authSettings =
new ArrayList<LiveChannelSettingRequest.AuthSetting>();
authSettings.add(authSetting);
LiveChannelSettingRequest.AuthSetting authSetting2 = new LiveChannelSettingRequest.AuthSetting().setAuthType(
LiveConstant.AuthType.DIRECT.getDesc())
.setRank(2)
.setEnabled("N")
//此处随机生成独立授权秘钥,对接时根据实际情况设置
.setDirectKey(super.getRandomString(10));
authSettings.add(authSetting2);
liveUpdateChannelAuthRequest.setChannelId(createChannel())
.setAuthSettings(authSettings);
liveUpdateChannelAuthResponse = new LiveWebAuthServiceImpl().updateChannelAuth(
liveUpdateChannelAuthRequest);
Assert.assertNotNull(liveUpdateChannelAuthResponse);
if (liveUpdateChannelAuthResponse) {
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 | false | String | 頻道號,不傳則為全域設定 |
| authSettings | true | Array | 觀看條件設定【詳見AuthSetting參數描述】 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
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 |
| directRedirectUri | false | String | 獨立授權參數:授權失敗地址 |
| 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 表示設定失敗
5、透過介面設定外部授權
描述
通过接口设置外部授权
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/auth-external
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelAuthExternal() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthExternalRequest liveChannelAuthExternalRequest = new LiveChannelAuthExternalRequest();
LiveChannelAuthExternalResponse liveChannelAuthExternalResponse;
try {
liveChannelAuthExternalRequest.setChannelId(createChannel())
.setExternalUri("https://help.polyv.net/");
liveChannelAuthExternalResponse = new LiveWebAuthServiceImpl().updateChannelAuthExternal(
liveChannelAuthExternalRequest);
Assert.assertNotNull(liveChannelAuthExternalResponse);
if (liveChannelAuthExternalResponse != null) {
//to do something ......
log.debug("测试通过接口设置外部授权成功,{}", JSON.toJSONString(liveChannelAuthExternalResponse));
}
} 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、請求正確,回傳 LiveChannelAuthExternalResponse 物件,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 | 頻道號,提交後對某頻道號設定,不提交則對帳號下所有頻道號進行設定 |
| externalUri | true | String | 取得使用者資訊介面位址 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelAuthExternals | Array | 外部授權【詳見ChannelAuthExternal參數說明】 |
ChannelAuthExternal參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelId | String | 設定的頻道號 |
| secretKey | String | 頻道號對應外部授權的 secretKey |
6、設定自訂授權地址
描述
设置自定义授权地址
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/oauth-custom
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelAuthCustom() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthCustomRequest liveChannelAuthCustomRequest = new LiveChannelAuthCustomRequest();
LiveChannelAuthCustomResponse liveChannelAuthCustomResponse;
try {
liveChannelAuthCustomRequest.setChannelId(createChannel())
.setCustomUri("https://help.polyv.net/");
liveChannelAuthCustomResponse = new LiveWebAuthServiceImpl().updateChannelAuthCustom(
liveChannelAuthCustomRequest);
Assert.assertNotNull(liveChannelAuthCustomResponse);
if (liveChannelAuthCustomResponse != null) {
//to do something ......
log.debug("测试设置自定义授权地址成功,{}", JSON.toJSONString(liveChannelAuthCustomResponse));
}
} 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、請求正確,回傳 LiveChannelAuthCustomResponse 物件,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 | 頻道號,提交後對某頻道號設定,不提交則對帳號下所有頻道號進行設定 |
| customUri | true | String | 自訂授權地址 |
| appId | false | String | POLYV 用戶 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 用戶 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| channelAuthExternals | Array | 外部授權【詳見ChannelAuthExternal參數說明】 |
ChannelAuthExternal參數描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelId | String | 設定的頻道號 |
| secretKey | String | 頻道號對應的自訂授權 secretKey |
7、設定授權認證URL
描述
设置授权认证URL
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/restrict/update-auth-url
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelAuthUrl() throws Exception, NoSuchAlgorithmException {
LiveUpdateChannelAuthUrlRequest liveUpdateChannelAuthUrlRequest = new LiveUpdateChannelAuthUrlRequest();
Boolean liveUpdateChannelAuthUrlResponse;
try {
liveUpdateChannelAuthUrlRequest.setChannelId(createChannel())
.setUrl("http://www.polyv.net");
liveUpdateChannelAuthUrlResponse = new LiveWebAuthServiceImpl().updateChannelAuthUrl(
liveUpdateChannelAuthUrlRequest);
Assert.assertNotNull(liveUpdateChannelAuthUrlResponse);
if (liveUpdateChannelAuthUrlResponse != null) {
//to do something ......
log.debug("测试设置授权认证URL成功");
}
} 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 | 否 | String | 頻道號,無此參數則為全域設定 |
| url | 否 | String | 授權認證 URL,為空時清除設定 |
| appId | 否 | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | 否 | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 為設定成功,false 為設定失敗
8、設定授權觀看類型
描述
设置授权观看类型
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/set-auth-type
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelAuthType() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthTypeRequest liveChannelAuthTypeRequest = new LiveChannelAuthTypeRequest();
Boolean liveChannelAuthTypeResponse;
try {
liveChannelAuthTypeRequest.setChannelId(createChannel())
.setAuthType("none");
liveChannelAuthTypeResponse = new LiveWebAuthServiceImpl().updateChannelAuthType(
liveChannelAuthTypeRequest);
Assert.assertTrue(liveChannelAuthTypeResponse);
if (liveChannelAuthTypeResponse) {
//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 | 頻道號 |
| authType | true | String | 觀看條件類型,預設值為 none(關閉觀看條件) |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示授權成功,false 表示授權失敗
9、更新白名單
描述
更新白名单
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/update-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateChannelWhiteList() throws Exception, NoSuchAlgorithmException {
LiveUpdateChannelWhiteListRequest liveUpdateChannelWhiteListRequest = new LiveUpdateChannelWhiteListRequest();
Boolean liveUpdateChannelWhiteListResponse;
try {
liveUpdateChannelWhiteListRequest.setChannelId(null)
.setRank(1)
.setOldCode("1605067278063")
.setCode("1605067278063")
.setName("学员2");
liveUpdateChannelWhiteListResponse = new LiveWebAuthServiceImpl().updateChannelWhiteList(
liveUpdateChannelWhiteListRequest);
Assert.assertNotNull(liveUpdateChannelWhiteListResponse);
if (liveUpdateChannelWhiteListResponse) {
//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 | false | String | 頻道號(傳入頻道號則修改頻道觀看白名單,不傳入頻道號則修改全域觀看白名單) |
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| oldCode | true | String | 舊會員碼 |
| code | true | String | 會員碼(最多50個字元) |
| name | false | String | 暱稱(最多50個字元) |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示更新成功,false 表示失敗
10、刪除白名單
描述
用于删除指定观看白名单(支持一键清空)
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/delete-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteChannelWhiteList() throws Exception, NoSuchAlgorithmException {
LiveDeleteChannelWhiteListRequest liveDeleteChannelWhiteListRequest = new LiveDeleteChannelWhiteListRequest();
Boolean liveDeleteChannelWhiteListResponse;
try {
liveDeleteChannelWhiteListRequest.setChannelId(null)
.setRank(1)
.setIsClear("N")
.setCode("1605052902421");
liveDeleteChannelWhiteListResponse = new LiveWebAuthServiceImpl().deleteChannelWhiteList(
liveDeleteChannelWhiteListRequest);
Assert.assertNotNull(liveDeleteChannelWhiteListResponse);
if (liveDeleteChannelWhiteListResponse) {
//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 | false | String | 頻道號(傳入頻道號則修改該頻道的觀看白名單,不傳入頻道號則修改全域觀看白名單) |
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| isClear | true | String | 是否一鍵清空白名單 Y:清空白名單 N:根據請求參數code刪除白名單 |
| code | false | String | 會員碼(isClear 為N時為必傳參數) |
| appId | false | String | POLYV用戶APP_ID,多帳號調用時該參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV用戶APP_SECRET,多帳號調用時該參數必填(即調用了initMultiAccount()設定多帳號調用),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
true 表示刪除成功,false 表示失敗
11、查詢頻道或全域登記觀看欄位
描述
查询频道或全局登记观看字段
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/get-record-field
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelAuthField() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthFieldRequest liveChannelAuthFieldRequest = new LiveChannelAuthFieldRequest();
LiveChannelAuthFieldResponse liveChannelAuthFieldResponse;
try {
liveChannelAuthFieldRequest.setChannelId(createChannel())
.setRank(1);
liveChannelAuthFieldResponse = new LiveWebAuthServiceImpl().getChannelAuthField(
liveChannelAuthFieldRequest);
Assert.assertNotNull(liveChannelAuthFieldResponse);
if (liveChannelAuthFieldResponse != null) {
//to do something ......
log.debug("测试查询频道或全局登记观看字段成功,{}", JSON.toJSONString(liveChannelAuthFieldResponse));
}
} 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、請求正確,回傳 LiveChannelAuthFieldResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| channelId | false | String | 頻道號,不填則取得全域設定 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即已呼叫 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網 -> 登入 -> 直播(開發設定) |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| channelAuthFields | Array | 登記觀看欄位【詳見ChannelAuthField參數說明】 |
ChannelAuthField參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| type | String | 登記觀看類型。name-姓名;mobile-手機號碼;number-數字;option-下拉選單;text-文字 |
| name | String | 登記觀看資訊標題 |
| placeholder | String | 登記觀看資訊描述 |
| options | String | 登記觀看為下拉選單時的選項,選項值以英文逗號分隔 |
12、查詢頁面登記觀看列表
描述
查询页面登记观看列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/get-record-info
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetChannelAuthInfo() throws Exception, NoSuchAlgorithmException {
LiveChannelAuthInfoRequest liveChannelAuthInfoRequest = new LiveChannelAuthInfoRequest();
LiveChannelAuthInfoResponse liveChannelAuthInfoResponse;
try {
liveChannelAuthInfoRequest.setChannelId(createChannel());
liveChannelAuthInfoResponse = new LiveWebAuthServiceImpl().getChannelAuthInfo(liveChannelAuthInfoRequest);
Assert.assertNotNull(liveChannelAuthInfoResponse);
if (liveChannelAuthInfoResponse != null) {
//to do something ......
log.debug("测试查询页面登记观看列表成功,{}", JSON.toJSONString(liveChannelAuthInfoResponse));
}
} 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、請求正確,回傳 LiveChannelAuthInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求入參說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| 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 | 頁面登記記錄【詳見ChannelAuthInfo參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 當前頁【對應API文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應API文件的totalPages欄位】 |
ChannelAuthInfo參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| createdTime | Date | 登記時間 |
| params | Array | 登記的內容資料 |
13、下載頻道登記觀看記錄
描述
接口用于下载频道的登记观看列表,包含登记观看记录字段和数据内容
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/download-record-info
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDownloadChannelAuthInfo() throws Exception, NoSuchAlgorithmException {
LiveDownloadChannelAuthInfoRequest liveDownloadChannelAuthInfoRequest =
new LiveDownloadChannelAuthInfoRequest();
byte[] liveDownloadChannelAuthInfoResponse;
try {
//path设置为下载文件路径
String path = Paths.get(getClass().getResource("/file/").toURI()).toString() + "downLoad.xlsx";
liveDownloadChannelAuthInfoRequest.setChannelId(createChannel())
.setRank(1);
liveDownloadChannelAuthInfoResponse = new LiveWebAuthServiceImpl().downloadChannelAuthInfo(
liveDownloadChannelAuthInfoRequest);
Assert.assertNotNull(liveDownloadChannelAuthInfoResponse);
if (liveDownloadChannelAuthInfoResponse != null) {
FileUtil.writeFile(liveDownloadChannelAuthInfoResponse, path);
//to do something ......
log.debug("测试下载频道登记观看记录成功, 文件长度 {}", liveDownloadChannelAuthInfoResponse.length);
}
} 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、請求正確,回傳 byte[] 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | true | String | 頻道號 |
| rank | true | Integer | 1為首要條件,2為次要條件。影響匯出的表格表頭 |
| appId | false | String | POLYV使用者APP_ID,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV使用者APP_SECRET,多帳號呼叫時此參數必填(即呼叫了initMultiAccount()設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
返回的byte[]可以依照單元測試範例進行儲存,也可以自行處理。
14、新增白名單
描述
用于设置频道或全局观看条件中的白名单列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/upload-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUploadWhiteList() throws Exception, NoSuchAlgorithmException {
LiveUploadWhiteListRequest liveUploadWhiteListRequest = new LiveUploadWhiteListRequest();
Boolean liveUploadWhiteListResponse;
try {
//path设置为模板文件路径(已填写完数据)
String path = getClass().getResource("/file/WhiteListTemplate.xls").getPath();
liveUploadWhiteListRequest.setChannelId(createChannel())
.setRank(1)
.setFile(new File(path));
liveUploadWhiteListResponse = new LiveWebAuthServiceImpl().uploadWhiteList(liveUploadWhiteListRequest);
Assert.assertTrue(liveUploadWhiteListResponse);
if (liveUploadWhiteListResponse) {
//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 | false | String | 頻道號,無該參數為全域設定 |
| rank | true | Integer | 主要觀看條件為1,次要觀看條件為2 |
| file | true | File | 白名單檔案(白名單模板) |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時該參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
如匯入資料與現有列表資料的會員碼一致,則會以匯入的暱稱覆蓋現有暱稱。
15、下載頻道觀看白名單列表
描述
用于下载全局或频道的观看条件白名单列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/auth/download-white-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDownloadChannelWhiteList() throws Exception, NoSuchAlgorithmException {
LiveDownloadChannelWhiteListRequest liveDownloadChannelWhiteListRequest = new LiveDownloadChannelWhiteListRequest();
byte[] liveDownloadChannelWhiteListResponse;
try {
//path设置为下载文件路径
String path = Paths.get(getClass().getResource("/file/").toURI()).toString() + "downLoadWhiteList.xlsx";
liveDownloadChannelWhiteListRequest.setChannelId(createChannel())
.setRank(1);
liveDownloadChannelWhiteListResponse = new LiveWebAuthServiceImpl().downloadChannelWhiteList(
liveDownloadChannelWhiteListRequest);
Assert.assertNotNull(liveDownloadChannelWhiteListResponse);
if (liveDownloadChannelWhiteListResponse != null) {
FileUtil.writeFile(liveDownloadChannelWhiteListResponse, path);
//to do something ......
log.debug("测试下载频道观看白名单列表成功, 文件长度 {}", liveDownloadChannelWhiteListResponse.length);
}
} 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、請求正確,回傳 byte[] 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| channelId | false | String | 頻道號,要下載的頻道號,不傳則為全域設定 |
| rank | true | Integer | 1 為首要條件,2 為次要條件 |
| appId | false | String | POLYV 使用者 APP_ID,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
| appSecret | false | String | POLYV 使用者 APP_SECRET,多帳號呼叫時此參數必填(即呼叫了 initMultiAccount() 設定多帳號呼叫),透過註冊保利威官網取得,路徑:官網->登入->直播(開發設定) |
回傳物件描述
返回的byte[]可以按照單元測試範例進行儲存,也可以自行處理。
