categoryService
1、新增影片分類
描述
通过分类名称与上级分类目录id新建视频分类
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/addCata
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testCreateCategory() throws IOException, NoSuchAlgorithmException {
VodCreateCategoryRequest vodCreateCategoryRequest = new VodCreateCategoryRequest();
VodCreateCategoryResponse vodCreateCategoryResponse = null;
try {
vodCreateCategoryRequest.setCategoryName("Junit测试")
.setParentId("1");
vodCreateCategoryResponse = new VodCategoryServiceImpl().createCategory(vodCreateCategoryRequest);
Assert.assertNotNull(vodCreateCategoryResponse);
if (vodCreateCategoryResponse != null) {
log.debug("测试新建视频分类成功,{}", vodCreateCategoryResponse);
}
} 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、請求正確,回傳 VodCreateCategoryResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryName | true | String | 分類名稱,不超過 40 個字元【對應 API 文件的 cataname 欄位】 |
| parentId | true | String | 新建分類目錄的上層目錄,值為 1 時表示根目錄【對應 API 文件的 parentid 欄位】 |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| categoryId | String | 新建的分類目錄 ID【對應 API 文件的 cataid 欄位】 |
| categoryTree | String | 新建的分類目錄樹,以逗號分隔(半形),例如 1b8be3,239c2e【對應 API 文件的 catatree 欄位】 |
2、查詢影片分類
描述
通过分类id查询分类下的树结构信息,含父子节点信息
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/cataJson
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetCategory() throws IOException, NoSuchAlgorithmException {
VodGetCategoryRequest vodGetCategoryRequest = new VodGetCategoryRequest();
List<VodGetCategoryResponse> vodGetCategoryResponseList = null;
try {
vodGetCategoryRequest.setCategoryId("1");
vodGetCategoryResponseList = new VodCategoryServiceImpl().getCategory(vodGetCategoryRequest);
Assert.assertNotNull(vodGetCategoryResponseList);
if (vodGetCategoryResponseList != null) {
log.debug("测试查询视频分类成功,{}", JSON.toJSONString(vodGetCategoryResponseList));
}
} 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、請求正確,回傳 VodGetCategoryResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | false | String | 分類 ID,預設為根目錄,取得該分類下的樹狀結構【對應 API 文件的 cataid 欄位】 |
回傳物件說明
回傳物件為 List<VodGetCategoryResponse>,VodGetCategoryResponse 具體元素內容如下:
| 參數名 | 類型 | 說明 |
|---|---|---|
| text | String | 分類名稱與該分類下影片總數的組合,例如 測試分類 (4) |
| categoryName | String | 分類名稱【對應 API 文件的 cataname 欄位】 |
| categoryTree | String | 分類樹,顯示從根目錄到該目錄每一層的分類 ID,例如 1,1474873756622【對應 API 文件的 catatree 欄位】 |
| categoryId | String | 分類 ID,若為 1 則是根目錄【對應 API 文件的 cataid 欄位】 |
| parentId | String | 上層分類 ID,根目錄的上層分類為 0【對應 API 文件的 parentid 欄位】 |
| videoNums | Integer | 此分類及其子分類的影片總數【對應 API 文件的 videos 欄位】 |
| categoryProfile | String | 一級分類設定資訊,分別為:加密、浮水印、課件優化、原始檔播放。例如:加密【對應 API 文件的 cataProfile 欄位】 |
| nodes | Array | 該分類的子分類【詳見 VodGetCategoryResponse 參數說明】 |
3、查詢分類使用空間
描述
通过分类id查询分类目录的使用空间
接口地址(仅做说明使用):https://api.polyv.net/v2/cata/size
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetCategorySize() throws IOException, NoSuchAlgorithmException {
VodGetCategorySizeRequest vodGetCategorySizeRequest = new VodGetCategorySizeRequest();
Long vodGetCategorySizeResponse = null;
try {
vodGetCategorySizeRequest.setCategoryId("1602671097888");
vodGetCategorySizeResponse = new VodCategoryServiceImpl().getCategorySize(vodGetCategorySizeRequest);
Assert.assertNotNull(vodGetCategorySizeResponse);
if (vodGetCategorySizeResponse != null) {
log.debug("测试通过分类ID查询目录使用空间成功");
}
} 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、請求正確,回傳 Long 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | true | String | 目錄分類 ID,(id=1,表示預設分類)【對應 API 文件的 cataid 欄位】 |
回傳物件說明
分類下的影片大小,單位為 byte
4、修改分類名稱
描述
通过分类id修改分类名称
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/updateCata
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateCategoryName() throws IOException, NoSuchAlgorithmException {
VodUpdateCategoryNameRequest vodUpdateCategoryNameRequest = new VodUpdateCategoryNameRequest();
Boolean vodUpdateCategoryNameResponse = null;
try {
vodUpdateCategoryNameRequest.setCategoryId("1615536384688")
.setCategoryName("Junit测试(勿删)_3");
vodUpdateCategoryNameResponse = new VodCategoryServiceImpl().updateCategoryName(
vodUpdateCategoryNameRequest);
Assert.assertTrue(vodUpdateCategoryNameResponse);
if (vodUpdateCategoryNameResponse) {
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | true | String | 分類 ID【對應 API 文件的 cataid 欄位】 |
| categoryName | true | String | 修改後的分類名稱【對應 API 文件的 cataname 欄位】 |
回傳物件說明
true 為修改成功,false 為修改失敗
5、修改分類屬性
描述
通过分类id修改分类属性
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/updateCataProfile
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateCategoryProfile() throws IOException, NoSuchAlgorithmException {
VodUpdateCategoryProfileRequest vodUpdateCategoryProfileRequest = new VodUpdateCategoryProfileRequest();
Boolean vodUpdateCategoryProfileResponse = null;
try {
vodUpdateCategoryProfileRequest.setCategoryId("1615536384688")
.setIsSettings("Y")
.setKeepSource(0)
.setEncrypt(0)
.setHlsLevel("open")
.setIsEdu(0)
.setEncodeAAC(0);
vodUpdateCategoryProfileResponse = new VodCategoryServiceImpl().updateCategoryProfile(
vodUpdateCategoryProfileRequest);
Assert.assertTrue(vodUpdateCategoryProfileResponse);
if (vodUpdateCategoryProfileResponse) {
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | true | String | 分類 ID,僅能設定一級分類的屬性【對應 API 文件的 cataid 欄位】 |
| isSettings | false | String | 是否啟用分類設定 Y:啟用, N:關閉,預設值為 Y:啟用 |
| keepSource | false | Integer | 原始檔播放,1 為開啟,0 為關閉;開啟時不對影片進行轉碼(僅對新上傳影片有效),預設值為 0:非原始檔播放 |
| encrypt | true | Integer | 影片加密設定開關(僅對新上傳影片有效),1:開啟,0:關閉,預設值為 0:關閉 |
| hlsLevel | false | String | 行動端加密設定,有效取值為 open: 非加密授權;web: WEB 授權;app: APP 授權;wxa_app:小程式授權;預設值為 open:非加密授權【對應 API 文件的 hlslevel 欄位】 |
| isEdu | false | Integer | 影片優化,1 為開啟,0 為關閉(僅對新上傳影片生效);預設值為 0:關閉 |
| encodeAAC | false | Integer | 產生音訊檔案,1 為開啟,0 為關閉(該功能僅對部分有權限用戶開放,且僅對新上傳影片生效),預設為 0:不產生【對應 API 文件的 encode_aac 欄位】 |
回傳物件說明
true 為修改成功,false 為修改失敗
6、移動影片分類
描述
通过分类id移动视频分类
接口地址(仅做说明使用):https://api.polyv.net/v2/cata/%s/change
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testMoveCategory() throws IOException, NoSuchAlgorithmException {
VodMoveCategoryRequest vodMoveCategoryRequest = new VodMoveCategoryRequest();
Boolean vodMoveCategoryResponse = null;
try {
vodMoveCategoryRequest.setCategoryId("1615536384688")
.setDestCategoryId("1");
vodMoveCategoryResponse = new VodCategoryServiceImpl().moveCategory(vodMoveCategoryRequest);
Assert.assertTrue(vodMoveCategoryResponse);
if (vodMoveCategoryResponse) {
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | true | String | 需要移動的目錄分類 ID,(id=1,表示預設分類)【對應 API 文件的 cataid 欄位】 |
| destCategoryId | true | String | 移動到的目錄分類 ID,(id=1,表示預設分類)【對應 API 文件的 destCataid 欄位】 |
回傳物件說明
true 為修改成功,false 為修改失敗
7、刪除分類
描述
通过分类id删除分类
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/deleteCata
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteCategory() throws IOException, NoSuchAlgorithmException {
VodDeleteCategoryRequest vodDeleteCategoryRequest = new VodDeleteCategoryRequest();
Boolean vodDeleteCategoryResponse = null;
try {
//准备测试数据
String categoryID = super.createCategoryOther();
vodDeleteCategoryRequest.setCategoryId(categoryID);
vodDeleteCategoryResponse = new VodCategoryServiceImpl().deleteCategory(vodDeleteCategoryRequest);
Assert.assertTrue(vodDeleteCategoryResponse);
if (vodDeleteCategoryResponse) {
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| categoryId | true | String | 影片分類 ID【對應 API 文件的 cataid 欄位】 |
回傳物件說明
true 為刪除成功,false 為刪除失敗
