syncService
1、查詢影片同步列表
描述
分页查询视频同步列表
接口地址(仅做说明使用):https://api.polyv.net/v2/video/grab/%s/list
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetTaskList() throws IOException, NoSuchAlgorithmException {
VodGetTaskListRequest vodGetTaskListRequest = new VodGetTaskListRequest();
VodGetTaskListResponse vodGetTaskListResponse = null;
try {
vodGetTaskListRequest.setCurrentPage(1).setPageSize(10);
vodGetTaskListResponse = new VodSyncServiceImpl().getTaskList(vodGetTaskListRequest);
Assert.assertNotNull(vodGetTaskListResponse);
if (vodGetTaskListResponse != null) {
log.debug("测试分页查询视频同步列表成功,{}", JSON.toJSONString(vodGetTaskListResponse));
}
} 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、請求正確,回傳 VodGetTaskListResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| currentPage | false | Integer | 頁數,預設為 1【對應 API 文件的 page 欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 查詢的結果列表【詳見Task 參數描述】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示 20 筆資料 |
| currentPage | Integer | 目前頁【對應 API 文件的 pageNumber 欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應 API 文件的 totalPages 欄位】 |
Task 參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| taskId | String | 同步任務對應的 ID【對應 API 文件的 taskid 欄位】 |
| userId | String | 點播使用者的 ID【對應 API 文件的 userid 欄位】 |
| originalName | String | 上傳的同步任務 CSV 檔案標題【對應 API 文件的 originalname 欄位】 |
| fileUrl | String | 同步任務的 CSV 檔案位址【對應 API 文件的 fileurl 欄位】 |
| successCount | Integer | 同步成功的數量【對應 API 文件的 seccesscount 欄位】 |
| totalCount | Integer | 此任務內總同步數【對應 API 文件的 totalcount 欄位】 |
| failCount | Integer | 同步失敗的數量【對應 API 文件的 failcount 欄位】 |
| status | String | 同步任務完成狀態 |
| endTime | Date | 任務完成時間,格式:yyyy-MM-dd HH:mm:ss【對應 API 文件的 endtime 欄位】 |
| createTime | Date | 任務建立時間,格式:yyyy-MM-dd HH:mm:ss【對應 API 文件的 createtime 欄位】 |
2、刪除同步影片任務
描述
通过视频同步任务id删除同步视频任务
接口地址(仅做说明使用):https://api.polyv.net/v2/video/grab/%s/delete
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteTask() throws IOException, NoSuchAlgorithmException {
VodDeleteTaskRequest vodDeleteTaskRequest = new VodDeleteTaskRequest();
Boolean vodDeleteTaskResponse = null;
try {
//准备测试数据
VodGetTaskListResponse.Task task = super.getTask(true);
vodDeleteTaskRequest.setTaskId(task.getTaskId());
vodDeleteTaskResponse = new VodSyncServiceImpl().deleteTask(vodDeleteTaskRequest);
Assert.assertTrue(vodDeleteTaskResponse);
if (vodDeleteTaskResponse) {
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. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| taskId | true | String | 同步任務 ID |
回傳物件描述
true 為刪除成功,false 為刪除失敗
3、匯出影片同步任務
描述
通过视频同步任务id导出视频同步任务
接口地址(仅做说明使用):https://api.polyv.net/v2/video/grab/%s/listVideos/export
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testExportTask() throws Exception, NoSuchAlgorithmException {
VodExportTaskRequest vodExportTaskRequest = new VodExportTaskRequest();
byte[] vodExportTaskResponse = null;
try {
//准备测试数据
VodGetTaskListResponse.Task task = super.getTask(false);
//path设置为下载文件路径
String path = Paths.get(getClass().getResource("/file/").toURI()).toString() + "download.csv";
vodExportTaskRequest.setTaskId(task.getTaskId());
vodExportTaskResponse = new VodSyncServiceImpl().exportTask(vodExportTaskRequest);
Assert.assertNotNull(vodExportTaskResponse);
if (vodExportTaskResponse != null) {
FileUtil.writeFile(vodExportTaskResponse, path);
log.debug("测试导出视频同步任务成功,文件长度{}", vodExportTaskResponse.length);
}
} 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、請求正確,回傳 byte[] 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| taskId | true | String | 同步任務 ID |
回傳物件描述
回傳的 byte[] 可以依照單元測試範例進行儲存,也可以自行處理。
