1、查询研讨会参会条件
描述
查询研讨会参会条件
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/seminar/setting/auth/get
调用约束
1、接口调用有频率限制,,调用常见异常,
单元测试
@Test
public void testGetAuthSetting() throws IOException, NoSuchAlgorithmException {
SeminarGetAuthSettingRequest seminarGetAuthSettingRequest = new SeminarGetAuthSettingRequest();
List<SeminarGetAuthSettingResponse> seminarGetAuthSettingResponse;
try {
String channelId = super.getChannelId();
seminarGetAuthSettingRequest.setChannelId(channelId);
seminarGetAuthSettingResponse = new SeminarAuthServiceImpl().getAuthSetting(seminarGetAuthSettingRequest);
Assert.assertNotNull(seminarGetAuthSettingResponse);
if (seminarGetAuthSettingResponse != null) {
//to do something ......
log.debug("测试查询研讨会参会条件成功 {}", JSON.toJSONString(seminarGetAuthSettingResponse));
}
} 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、请求正确,返回SeminarGetAuthSettingResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
返回对象描述
返回对象是List<SeminarGetAuthSettingResponse>,SeminarGetAuthSettingResponse具体元素内容如下:
用于实现一个频道设置两个参会条件,为1或2(1为主要条件,2为次要条件)
参会条件类型 password:密码登录 direct:独立授权
2、修改研讨会参会条件
描述
修改研讨会的登录条件
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/seminar/setting/auth/set
调用约束
2、主要参会条件不能关闭,否则返回参数错误
3、相同参会条件(主要参会条件/次要参会条件),不同角色的开关、认证类型必须相同,否则返回参数错误
4、相同参会条件(主要参会条件/次要参会条件),不同角色的密码/独立授权key必须不同,否则返回参数错误
5、当认证类型是密码登录时,密码不能为空;当认证类型是独立授权时,授权key不能为空,否则返回参数错误
6、主要参会条件和次要参会条件的类型为相同时,不能够同时打开,否则返回参数错误
单元测试
@Test
public void testSetAuthSetting() throws IOException, NoSuchAlgorithmException {
SeminarSetAuthSettingRequest seminarSetAuthSettingRequest = new SeminarSetAuthSettingRequest();
Boolean seminarSetAuthSettingResponse;
try {
String channelId = super.getChannelId();
SeminarSetAuthSettingRequest.AuthSetting authSetting1 = new SeminarSetAuthSettingRequest.AuthSetting();
SeminarSetAuthSettingRequest.AuthSetting authSetting2 = new SeminarSetAuthSettingRequest.AuthSetting();
authSetting1.setRank(1)
.setEnabled(SeminarConstant.Flag.YES.getFlag())
.setAuthType(SeminarConstant.SeminarAuthType.PASSWORD.getCode())
.setRoleCode(SeminarConstant.RoleCode.ATTENDEE.getCode())
.setPassword(getRandomString(6));
authSetting2.setRank(1)
.setEnabled(SeminarConstant.Flag.YES.getFlag())
.setAuthType(SeminarConstant.SeminarAuthType.PASSWORD.getCode())
.setRoleCode(SeminarConstant.RoleCode.HOST.getCode())
.setPassword(getRandomString(6));
seminarSetAuthSettingRequest.setChannelId(channelId)
.setAuthSettings(Arrays.asList(authSetting1, authSetting2));
seminarSetAuthSettingResponse = new SeminarAuthServiceImpl().setAuthSetting(seminarSetAuthSettingRequest);
Assert.assertTrue(seminarSetAuthSettingResponse);
if (seminarSetAuthSettingResponse) {
//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. ]
请求入参描述
参会条件类型 password:密码登录 direct:独立授权
当authType为password时,密码登录的password
当authType为direct时,设置参数,非必填,独立授权SecretKey
当authType为custom时,为自定义授权自定义URL
当authType为custom时,为自定义授权SecretKey
返回对象描述
修改研讨会参会条件返回实体