保利威文档中心

幫助中心

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欄位】

回傳物件描述

刪除文件回傳實體

联系客服,在线咨询