channelDoc
1、上传频道文档
描述
上传频道文档
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/upload-doc
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、上传的文件不超过200M,格式限制为(ppt, pdf,pptx,doc,docx,wps,xls,xlsx)
3、file和url只需要传递其中一个,如果传递了url和file,以file字段为准
单元测试
@Test
public void testCreateChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveCreateChannelDocRequest liveCreateChannelDocRequest = new LiveCreateChannelDocRequest();
LiveCreateChannelDocResponse liveCreateChannelDocResponse;
try {
String path = getClass().getResource("/file/PPT.pptx").getPath();
liveCreateChannelDocRequest.setChannelId(super.createChannel())
.setType("common")
// .setFile(new File(path))
.setUrl("https://help.polyv.net/third_res/PPT.pptx")
.setDocName("唐诗三百首")
.setCallbackUrl("http://www.baidu.com/callback");
liveCreateChannelDocResponse = new LiveChannelDocServiceImpl().createChannelDoc(
liveCreateChannelDocRequest);
Assert.assertNotNull(liveCreateChannelDocResponse);
if (liveCreateChannelDocResponse != null) {
//to do something ......
log.debug("测试上传频道文档成功,{}", liveCreateChannelDocResponse);
}
} 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、请求正确,返回LiveCreateChannelDocResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | 频道号 |
| type | false | String | 转换类型(‘common’:转普通图片, ‘animate’:转动画效果)默认不传转普通,因为只有ppt,pptx可以转动画,其他类型文件会自动转成普通;文件转动画转失败会直接把类型转为普通 |
| file | false | File | 上传的文件不超过200M,格式限制为(ppt, pdf,pptx,doc,docx,wps, xls,xlsx) |
| docName | false | String | 文档名称(不传默认使用ppt上传的文件获取到的文件名作为文档名称,文档名称不得超过100个字符) |
| callbackUrl | false | String | 文档上传转换成功回调地址 |
| url | false | String | 文件地址url(需要可访问的地址),file和url只需要传递其中一个,如果传递了url和file,以file字段为准 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| fileId | String | 成功时返回文件ID |
| autoId | Integer | 成功时返回文件记录自增标识id |
| type | String | 转换类型(common:转普通图片,animate:转动画效果)只有ppt,pptx会转动画,其中会自动转成普通,转动画转失败也会直接把类型转为普通 |
| status | String | 文件转换状态(normal:正常,waitConvert:转换PPT中,failConvert:转换PPT失败) |
2、查询频道文档转换状态
描述
查询频道文档转换状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/status/get
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetChannelDocStatus() throws Exception, NoSuchAlgorithmException {
LiveChannelDocStatusRequest liveChannelDocStatusRequest = new LiveChannelDocStatusRequest();
LiveChannelDocStatusResponse liveChannelDocStatusResponse;
try {
String channelId = super.createChannel();
liveChannelDocStatusRequest.setChannelId(channelId)
.setFileId("c2d585857870f4eff024976e3a265c0b1965681common," +
"6e0603f6c8ec6113b87f69a7191d22021965681common");
liveChannelDocStatusResponse = new LiveChannelDocServiceImpl().getChannelDocStatus(
liveChannelDocStatusRequest);
Assert.assertNotNull(liveChannelDocStatusResponse);
if (liveChannelDocStatusResponse != null) {
//to do something ......
log.debug("测试查询频道文档转换状态成功,{}", JSON.toJSONString(liveChannelDocStatusResponse));
}
} 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、请求正确,返回LiveChannelDocStatusResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | 频道号 |
| fileId | true | String | 文件ID,(如果有多个,可以用英文逗号隔开拼接成字符串) |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelDocStatuses | Array | 频道文档列表转换信息【详见ChannelDocStatus参数描述】 |
ChannelDocStatus参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| convertStatus | String | 转换状态. (“normal”:正常。”failUpload“: 上传失败。“waitConvert”: 转换PPT中。“failConvert”: 转换失败,失败原因会返回在data[0].errorMsg字段中展示) |
| errorMsg | String | 错误信息(转换失败原因,convertStatus=“failConvert” 返回) |
| totalPage | Integer | 总页数(convertStatus=“normal” 返回) |
| images | Array | 大图地址数组,(convertStatus=“normal” 返回) |
| smallImages | Array | 小图地址数组,(convertStatus=“normal” 返回) |
| imageCount | Integer | 大图图片数量,(convertStatus=“normal” 返回) |
| htmlUrl | String | 动画PPT地址,(convertStatus=“normal” 返回) |
| fileId | String | 文件ID |
3、获取频道文档列表
描述
获取频道文档列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/doc-list
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testListChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveListChannelDocRequest liveListChannelDocRequest = new LiveListChannelDocRequest();
LiveListChannelDocResponse liveListChannelDocResponse;
try {
String channelId = super.createChannel();
liveListChannelDocRequest.setChannelId(channelId).setIsShowUrl("Y").setStatus(null);
liveListChannelDocResponse = new LiveChannelDocServiceImpl().listChannelDoc(liveListChannelDocRequest);
Assert.assertNotNull(liveListChannelDocResponse);
if (liveListChannelDocResponse != null) {
//to do something ......
log.debug("测试获取频道文档列表成功,{}", JSON.toJSONString(liveListChannelDocResponse));
}
} 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、请求正确,返回LiveListChannelDocResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | 频道号 |
| status | false | String | 文档状态,不传查询所有(“normal”:正常,“waitUpload”:等待上传,failUpload:上传失败,waitConvert:转换PPT中,failConvert:转换PPT失败) |
| isShowUrl | false | String | 是否展示PPT原文件地址,Y:是;N:否;默认为N |
| currentPage | false | Integer | 页数,默认为1【对应api文档的page字段】 |
| pageSize | false | Integer | 每页显示的数据条数,默认每页显示20条数据【对应api文档的limit字段】 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| contents | Array | 频道文档【详见ChannelDoc参数描述】 |
| pageSize | Integer | 每页显示的数据条数,默认每页显示20条数据 |
| currentPage | Integer | 当前页【对应api文档的pageNumber字段】 |
| totalItems | Integer | 记录总条数 |
| totalPage | Integer | 总页数【对应api文档的totalPages字段】 |
ChannelDoc参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| autoId | Integer | 文档ID |
| fileId | String | 文件ID |
| fileName | String | 文件名 |
| fileUrl | String | 文件url(isShowUrl为'Y'的时候返回文件地址) |
| fileType | String | 文件类型,如:.pdf |
| totalPage | Integer | PPT总页数 |
| channelId | String | 频道号 |
| status | String | ppt转换状态(“normal”:正常,“waitUpload”:等待上传,failUpload:上传失败,waitConvert:转换PPT中,failConvert:转换PPT失败) |
| createTime | Date | 创建时间 |
| convertType | String | 转换类型(common:普通PPT,animate:动画PPT) |
| type | String | 类型,区分旧版PPT还是新版PPT,新版值为“new”,旧版值为“old” |
| previewImage | String | ppt预览小图地址,如:http://doc-2.polyv.net/x/xxx_0.jpeg |
4、删除频道文档
描述
删除频道文档
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/document/delete
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testDeleteChannelDoc() throws Exception, NoSuchAlgorithmException {
LiveDeleteChannelDocRequest liveDeleteChannelDocRequest = new LiveDeleteChannelDocRequest();
Boolean liveDeleteChannelDocResponse;
try {
String channelId = super.createChannel();
liveDeleteChannelDocRequest.setChannelId(channelId)
.setFileId("6897d12bd284dd1e9b8b8534b6af91c31965681common")
.setType("new");
liveDeleteChannelDocResponse = new LiveChannelDocServiceImpl().deleteChannelDoc(
liveDeleteChannelDocRequest);
Assert.assertTrue(liveDeleteChannelDocResponse);
if (liveDeleteChannelDocResponse) {
//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 | 频道号 |
| fileId | true | String | 文件ID,(如果有多个,可以用英文逗号隔开拼接成字符串) |
| type | true | String | 新旧版文件类型,old:旧版,new:新版【这个值可以从文档列表接口返回数据的type(类型)中获得】【多个文件需要删除,请按照fileId顺序对应ppt新旧类型,用英文逗号隔开拼接成字符串),type中的类型数量必须跟fileId中的包含的ID数量一致】 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为删除文档成功,false为删除文档失败
5、讲师文档关系管理
描述
开启了“讲义库”功能后(如需开通请联系售后),通过此接口将讲师和公共讲义库中的文档关联起来,从而实现在不需要重复上传的情况下,多个讲师共用同一份文档
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/doc/teacher/update-relation
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testUpdateTeacherDocRelation() throws IOException, NoSuchAlgorithmException {
LiveTeacherDocRelationRequest liveTeacherDocRelationRequest = new LiveTeacherDocRelationRequest();
Boolean liveTeacherDocRelationResponse;
try {
liveTeacherDocRelationRequest.setTeacherId("4047763")
.setFileIds("702eaad1e22b218b79285eab77410af84047763common")
.setOperation(2);
liveTeacherDocRelationResponse = new LiveChannelDocServiceImpl().UpdateTeacherDocRelation(
liveTeacherDocRelationRequest);
Assert.assertNotNull(liveTeacherDocRelationResponse);
if (liveTeacherDocRelationResponse != null) {
//to do something ......
log.debug("测试讲师文档关系管理成功 {}", JSON.toJSONString(liveTeacherDocRelationResponse));
}
} 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. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| operation | true | Integer | 操作, 1:新增绑定关系,若绑定关系已经存在,则不再新增,只更新关联时间,查询列表时默认会根据此关联时间倒序排序 2:解除绑定关系 |
| teacherId | true | String | 讲师ID,32个以内ASCII码可见字符,系【创建频道接口】或【更新频道接口】所传入的 customTeacherId |
| fileIds | true | String | 文档ID,多个文档ID以,分隔,一次最多传入100个 |
| appId | false | String | POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
| appSecret | false | String | POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置) |
返回对象描述
true为关系修改成功,false为关系修改失败
