coursewareService
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為刪除失敗
