保利威文档中心

帮助中心

fileService

更新时间:2024-10-21 09:33:43

1、上传文档到某个课节

描述

上传课节文档接口
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/upload-doc

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、上传的文件不超过50M,格式限制为(ppt, pdf,pptx,doc,docx,wps,xls,xlsx)

3、file和url只需要传递其中一个,如果传递了url和file,以file字段为准

单元测试

    @Test
    public void testUploadDoc() throws IOException, NoSuchAlgorithmException {
        VClassUploadDocRequest vClassUploadDocRequest;
        VClassUploadDocResponse vClassUploadDocResponse;
        try {
            String path = VClassFileServiceTest.class.getResource("/file/PPT.pptx").getPath();
            Long lessonId = super.createLesson();
            vClassUploadDocRequest = VClassUploadDocRequest.builder()
                    .lessonId(lessonId)
//                    .file(new File(path))
                    .url("https://help.polyv.net/third_res/PPT.pptx")
                    .docName("测试上传文档")
                    .callbackUrl("http://www.baidu.com/callback")
                    .build();
            vClassUploadDocResponse = new VClassFileServiceImpl().uploadDoc(vClassUploadDocRequest);
            Assert.assertNotNull(vClassUploadDocResponse);
            if (vClassUploadDocResponse != null) {
                //to do something ......
                log.debug("测试上传文档到某个课节成功 {}", JSON.toJSONString(vClassUploadDocResponse));
                //TODO 此处创建完成后删除了文档,正式使用需删除该语句
                super.deleteDoc(lessonId, vClassUploadDocResponse.getFileId());
            }
        } 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、请求正确,返回VClassUploadDocResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
lessonId true Long 课节号
file false File 上传的文件不超过50M,格式限制为(ppt, pdf,pptx,doc,docx,wps,xls,xlsx),file和url只需要传递其中一个,如果传递了url和file,以file字段为准
type false String 转换类型,默认不传转普通,因为只有ppt,pptx可以转动画,其他类型文件会自动转成普通;文件转动画转失败会直接把类型转为普通 common:转普通图片 animate:转动画效果
docName false String 文档名称,默认不传使用ppt上传的文件获取到的文件名作为文档名称,文档名称不得超过100个字符
callbackUrl false String 文档上传转换成功回调地址
url false String 文件地址url(需要可访问的地址),file和url只需要传递其中一个,如果传递了url和file,以file字段为准

返回对象描述

参数名 类型 说明
type String 转换类型,默认不传转普通,因为只有ppt,pptx可以转动画,其他类型文件会自动转成普通;文件转动画转失败会直接把类型转为普通 common:转普通图片 animate:转动画效果
fileId String 文件ID,成功时返回
status String 文档状态 normal:正常 waitUpload:等待上传 failUpload:上传失败 waitConvert:转换PPT中 failConvert:转换PPT失败






2、查询课节已上传文档列表

描述

获取课节文档列表
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/doc-list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testListDoc() throws IOException, NoSuchAlgorithmException {
        VClassDocListRequest vClassDocListRequest = new VClassDocListRequest();
        VClassDocListResponse vClassDocListResponse;
        try {
            vClassDocListRequest.setLessonId(super.createLesson());
            vClassDocListResponse = new VClassFileServiceImpl().listDoc(vClassDocListRequest);
            Assert.assertNotNull(vClassDocListResponse);
            if (vClassDocListResponse != null) {
                //to do something ......
                log.debug("测试查询课节已上传文档列表成功 {}", JSON.toJSONString(vClassDocListResponse));
            }
        } 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、请求正确,返回VClassDocListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
lessonId true Long 课节号
status false String 文档状态,默认不传查询所有 normal:正常 waitUpload:等待上传 failUpload:上传失败 waitConvert:转换PPT中 failConvert:转换PPT失败
isShowUrl false String 是否展示文档原文件地址,默认不传不展示 Y:是 N:否
currentPage false Integer 页数,默认为1【对应api文档的page字段】
pageSize false Integer 每页显示的数据条数,默认每页显示10条数据【对应api文档的limit字段】

返回对象描述

参数名 类型 说明
contents Array 文档列表【详见Doc参数描述
pageSize Integer 每页显示的数据条数,默认每页显示10条数据
currentPage Integer 当前页【对应api文档的pageNumber字段】
totalItems Integer 记录总条数
totalPage Integer 总页数【对应api文档的totalPages字段】
Doc参数描述
参数名 类型 说明
fileId String 文件ID
fileName String 文件名
fileUrl String 文件url
fileType String 文件类型
totalPage Integer 上传文档的内容的总页数
channelId String 频道号
status String 文档状态,不传默认查询所有 normal:正常 waitUpload:等待上传 failUpload:上传失败 waitConvert:转换PPT中 failConvert:转换PPT失败
createTime Date 创建时间
convertType String 转换类型,默认不传转普通,因为只有ppt,pptx可以转动画,其他类型文件会自动转成普通;文件转动画转失败会直接把类型转为普通 common:转普通图片 animate:转动画效果
previewImage String ppt预览小图地址
previewBigImage String ppt预览大图地址
autoId Integer 文档ID






3、删除文档

描述

删除课节文档接口
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testDeleteDoc() throws IOException, NoSuchAlgorithmException {
        VClassDeleteDocRequest vClassDeleteDocRequest;
        Boolean vClassDeleteDocResponse;
        try {
            vClassDeleteDocRequest = VClassDeleteDocRequest.builder()
                    .lessonId(super.createLesson())
                    .fileId("5e4e4a18f2dcc89590bc3f8bc70c5da62771229common")
                    .build();
            vClassDeleteDocResponse = new VClassFileServiceImpl().deleteDoc(vClassDeleteDocRequest);
            Assert.assertTrue(vClassDeleteDocResponse);
            if (vClassDeleteDocResponse) {
                //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. ]

请求入参描述

参数名 必选 类型 说明
lessonId true Long 课节号
fileId true String 文件ID,(如果有多个,可以用英文逗号隔开拼接成字符串),该值来源参考【查询课节已上传文档列表】接口返回数据的data.contents[0].fileId
currentPage false Integer 页数,默认为1【对应api文档的page字段】
pageSize false Integer 每页显示的数据条数,默认每页显示10条数据【对应api文档的limit字段】

返回对象描述

删除文档返回实体

联系客服,在线咨询