保利威文档中心

幫助中心

coursewareService

更新時間:2023-09-22 17:47:34

1、非同步上傳課件

描述

通过视频id上传课件,支持ppt、pptx及pdf文件
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/uploadPPT/asyn

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、介面僅回傳上傳結果,課件轉換結果需透過事件回呼取得,詳見:回呼通知說明.

單元測試

    @Test
    public void testUploadCourseware() throws IOException, NoSuchAlgorithmException {
        VodUploadCoursewareRequest vodUploadCoursewareRequest = new VodUploadCoursewareRequest();
        Boolean vodUploadCoursewareResponse = null;
        try {
            String coursewareFile = getClass().getResource("/courseware/Courseware.ppt").getPath();
            vodUploadCoursewareRequest.setVideoId("1b448be32345b255cabc3fe8d65a4d00_1")
                    .setCourseware(new File(coursewareFile));
            vodUploadCoursewareResponse = new VodCoursewareServiceImpl().uploadCourseware(vodUploadCoursewareRequest);
            Assert.assertTrue(vodUploadCoursewareResponse);
            if (vodUploadCoursewareResponse) {
                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.VodxxxRequest]物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]

3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
videoId true String 影片ID【對應api文件的vid欄位】
courseware true File 上傳課件

回傳物件描述

true為上傳課件成功,false為上傳課件失敗




2、同步上傳課件

描述

通过视频id与ppt控制文件上传ppt课件
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/uploadPPT

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

2、ppt控制檔案格式範例如下,每一行為:「秒數」+「:」+「標題」(註:ppt控制檔案必須是UTF-8的編碼格式,否則課件的章節標題會顯示為亂碼)

單元測試

    @Test
    public void testUploadPPT() throws IOException, NoSuchAlgorithmException {
        VodUploadPPTRequest vodUploadPPTRequest = new VodUploadPPTRequest();
        Boolean vodUploadPPTResponse = null;
        try {
            String pptFile = getClass().getResource("/file/PPT.pptx").getPath();
            String controlFile = getClass().getResource("/file/controlFile.txt").getPath();
            vodUploadPPTRequest.setVideoId(super.getTestVideoId())
                    .setPpt(new File(pptFile))
                    .setControlFile(new File(controlFile));
            vodUploadPPTResponse = new VodUploadServiceImpl().uploadPPT(vodUploadPPTRequest);
            Assert.assertTrue(vodUploadPPTResponse);
            if (vodUploadPPTResponse) {
                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.VodxxxRequest]物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]

3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
videoId true String 影片ID【對應api文件的vid欄位】
ppt true File ppt檔案
controlFile true File ppt控制檔案,檔案副檔名為txt,文字格式見限制

回傳物件描述

true為上傳成功,false為上傳失敗




3、查詢課件

描述

通过视频id查询课件
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/getPPTPage

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testQueryCourseware() throws IOException, NoSuchAlgorithmException {
        VodQueryCoursewareRequest vodQueryCoursewareRequest = new VodQueryCoursewareRequest();
        List<VodQueryCoursewareResponse> vodQueryCoursewareResponseList = null;
        try {
            vodQueryCoursewareRequest.setVideoId("1b448be32345b255cabc3fe8d65a4d00_1");
            vodQueryCoursewareResponseList = new VodCoursewareServiceImpl().queryCourseware(vodQueryCoursewareRequest);
            Assert.assertNotNull(vodQueryCoursewareResponseList);
            if (vodQueryCoursewareResponseList != null) {
                log.debug("测试查询课件成功,{}", JSON.toJSONString(vodQueryCoursewareResponseList));
            }
        } 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、請求正確,回傳VodQueryCoursewareResponse物件,B端依據此物件處理業務邏輯;

2、請求參數驗證不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]

3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
videoId true String 影片ID【對應api文件的vid欄位】

回傳物件描述

回傳物件是List<VodQueryCoursewareResponse>,VodQueryCoursewareResponse具體元素內容如下:

參數名 類型 說明
pageNo Integer 課件頁碼
pageTitle String 頁面標題
pageImage String 轉碼後的圖片URL
pageThumbnail String 縮圖URL
showTime Integer 影片播放到第幾秒時顯示該頁PPT,單位:秒






4、刪除課件

描述

通过视频id删除课件
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/deletePPT

呼叫限制

1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看

單元測試

    @Test
    public void testDeleteCourseware() throws IOException, NoSuchAlgorithmException {
        VodDeleteCoursewareRequest vodDeleteCoursewareRequest = new VodDeleteCoursewareRequest();
        Boolean vodDeleteCoursewareResponse = null;
        try {
            //准备测试数据
            uploadCoursewareOther();
            vodDeleteCoursewareRequest.setVideoId("1b448be32345b255cabc3fe8d65a4d00_1");
            vodDeleteCoursewareResponse = new VodCoursewareServiceImpl().deleteCourseware(vodDeleteCoursewareRequest);
            Assert.assertTrue(vodDeleteCoursewareResponse);
            if (vodDeleteCoursewareResponse) {
                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.VodxxxRequest]物件驗證失敗,失敗欄位 [pic不能為空 / msg不能為空] ]

3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]

請求入參描述

參數名 必選 類型 說明
videoId true String 影片ID【對應api文件的vid欄位】

回傳物件描述

true為刪除成功,false為刪除失敗

联系客服,在线咨询