保利威文档中心

幫助中心

subAccountService

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

1、搜尋影片

描述

通过视频标题、分类、标签等条件查找视频
接口地址(仅做说明使用):https://api.polyv.net//v3/video/list-video

呼叫限制

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

單元測試

    @Test
    public void testSearchVideoList() throws IOException, NoSuchAlgorithmException {
        VodSubAccountSearchVideoListRequest vodSubAccountSearchVideoListRequest =
                new VodSubAccountSearchVideoListRequest();
        VodSubAccountSearchVideoListResponse vodSubAccountSearchVideoListResponse = null;
        try {
            vodSubAccountSearchVideoListRequest.setCategoryId("1602300731843")
                    .setTitle("学习英语")
                    .setUploader("主账号")
                    .setStatus("61")
                    .setContainSubCate("Y")
                    .setStartTime(super.getDate(2021, 1, 4, 10, 35))
                    .setEndTime(super.getDate(2021, 2, 5, 10, 35))
                    .setSort("creationTimeDesc")
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodSubAccountSearchVideoListResponse = new VodSubAccountServiceImpl().searchVideoList(
                    vodSubAccountSearchVideoListRequest);
            Assert.assertNotNull(vodSubAccountSearchVideoListResponse);
            if (vodSubAccountSearchVideoListResponse != null) {
                log.debug("测试搜索视频成功,{}", JSON.toJSONString(vodSubAccountSearchVideoListResponse));
            }
        } 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、請求正確,回傳 VodSubAccountSearchVideoListResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必選 類型 說明
categoryId false String 影片分類ID【對應API文件的cataId欄位】
title false String 依標題搜尋
uploader false String 上傳者
status false String 影片狀態碼;60/61:已發布;10:等待編碼;20:正在編碼;50:等待審核;51:審核不通過;-1:已刪除;
containSubCate false String 是否包含子分類,Y 包含,N 不包含
startTime false Date 按建立時間範圍查詢,起始時間,格式為yyyy-MM-dd HH:mm:ss
endTime false Date 結束時間,格式為yyyy-MM-dd HH:mm:ss
sort false String 排序creationTimeDesc或creationTimeAsc
appId true String 子帳號appId
secretKey true String 子帳號secretKey
currentPage false Integer 頁數,預設為1【對應API文件的page欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料

回傳物件描述

參數名 類型 說明
contents Array 查詢的結果列表【詳見VodSearchVideoList參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 目前頁面【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
VodSearchVideoList參數描述
參數名稱 類型 說明
videoId String 影片 ID【對應 API 文件的 vid 欄位】
basicInfo BasicInfo 查詢的影片基本資訊【詳見 BasicInfo 參數說明
BasicInfo參數描述
參數名 類型 說明
title String 影片標題
description String 影片描述
duration Integer 原始影片時長,單位:秒
coverURL String 首圖網址,大圖
creationTime Date 建立時間
updateTime Date 更新時間
size Long 原始檔案大小,單位:Bytes
status Integer 影片狀態碼;60/61:已發布;10:等待編碼;20:正在編碼;50:等待審核;51:審核不通過;-1:已刪除;
categoryId String 分類ID,如1為根目錄【對應API文件的cateId欄位】
categoryName String 分類名稱【對應API文件的cateName欄位】
tags String 標籤
uploader String 上傳者






2、查詢影片資訊

描述

通过视频id查询视频信息
接口地址(仅做说明使用):https://api.polyv.net//v3/video/get-video-info

呼叫限制

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

單元測試

    @Test
    public void testGetVideoInfo() throws IOException, NoSuchAlgorithmException {
        VodSubAccountQueryVideoInfoRequest vodSubAccountQueryVideoInfoRequest =
                new VodSubAccountQueryVideoInfoRequest();
        List<VodSubAccountQueryVideoInfoResponse> vodSubAccountQueryVideoInfoResponseList = null;
        try {
            vodSubAccountQueryVideoInfoRequest.setVideoIds(super.getTestVideoId())
                    .setFilters("basicInfo,metaData,transcodeInfo,snapshotInfo")
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodSubAccountQueryVideoInfoResponseList = new VodSubAccountServiceImpl().getVideoInfo(
                    vodSubAccountQueryVideoInfoRequest);
            Assert.assertNotNull(vodSubAccountQueryVideoInfoResponseList);
            if (vodSubAccountQueryVideoInfoResponseList != null) {
                log.debug("测试查询视频信息,{}", JSON.toJSONString(vodSubAccountQueryVideoInfoResponseList));
            }
        } 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、請求正確,回傳 VodSubAccountQueryVideoInfoResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必選 類型 說明
videoIds true String 影片ID,多個影片ID用英文逗號分隔(狀態為半形),例如 1b8be3,239c2e【對應 API 文件的 vids 欄位】
filters false String 選擇需要回傳的影片資訊,多個以英文逗號分隔(狀態為半形,例如 basicInfo,metaData),取值:basicInfo,metaData,transcodeInfo,snapshotInfo,分別代表基礎資訊、元資料、轉碼資訊、截圖資訊,為空則回傳基礎資訊【對應 API 文件的 filter 欄位】
appId true String 子帳號 appId
secretKey true String 子帳號 secretKey

回傳物件描述

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

參數名 類型 說明
videoId String 影片ID【對應API文件的vid欄位】
basicInfo BasicInfo 查詢的影片基本資訊【詳見BasicInfo參數說明
transcodeInfos Array 查詢的影片轉碼資訊【詳見TranscodeInfos參數說明
metaData MetaData 查詢的影片元資料【詳見MetaData參數說明
snapshotInfo SnapshotInfo 查詢的影片截圖【詳見SnapshotInfo參數說明
BasicInfo參數描述
參數名 類型 說明
title String 影片標題
description String 影片描述
duration Integer 原始影片時長,單位:秒
coverURL String 首圖網址,大圖
creationTime Date 建立時間
updateTime Date 更新時間
size Long 原始檔案大小,單位:Bytes
status Integer 影片狀態碼;60/61:已發布;10:等待編碼;20:正在編碼;50:等待審核;51:審核不通過;-1:已刪除;
categoryId String 分類 ID,如 1 為根目錄【對應 API 文件的 cateId 欄位】
categoryName String 分類名稱【對應 API 文件的 cateName 欄位】
tags String 標籤
uploader String 上傳者
TranscodeInfos參數描述
參數名 類型 說明
playUrl String 播放位址
definition String 清晰度,SOURCE:原始清晰度,LD:普清,SD:標清,HD:高清
duration Integer 時長,秒
encrypt Boolean 加密影片為true,非加密為false
format String 轉碼格式,如mp4、flv、pdx、hls
fps Integer 影片幀率
bitrate Integer 碼率kbps
height Integer 解析度高,單位:px
width Integer 解析度寬,單位:px
status String 影片狀態, normal:可以正常播放,unavailable:無法正常播放
fileSize Long 編碼後影片大小,單位:位元組
MetaData參數描述
參數名 類型 說明
size Long 原始檔案大小,單位:Bytes
format String 影片容器類型,如 mp4、flv 等
duration Integer 原始影片長度,單位:秒
bitrate Integer 影片位元率,單位:bps
fps Integer 影片幀率
height Integer 解析度高度,單位:px
width Integer 解析度寬度,單位:px
codec String 編碼格式,如 h264、h265 等
SnapshotInfo參數描述
參數名稱 類型 說明
imageUrl Array 截圖網址陣列






3、修改影片資訊

描述

通过视频id修改视频信息
接口地址(仅做说明使用):https://api.polyv.net//v3/video/update-info

呼叫限制

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

單元測試

    @Test
    public void testUpdateVideoInfo() throws IOException, NoSuchAlgorithmException {
        VodSubAccountUpdateVideoInfoRequest vodSubAccountUpdateVideoInfoRequest =
                new VodSubAccountUpdateVideoInfoRequest();
        Boolean vodUpdateVideoInfoResponse = null;
        try {
            vodSubAccountUpdateVideoInfoRequest.setVideoId(super.getTestVideoId())
                    .setDesc("这是一个通过junit合并的视频_1")
                    .setTag("junit测试_1")
                    .setPublishUrl(null)
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodUpdateVideoInfoResponse = new VodSubAccountServiceImpl().updateVideoInfo(
                    vodSubAccountUpdateVideoInfoRequest);
            Assert.assertTrue(vodUpdateVideoInfoResponse);
            if (vodUpdateVideoInfoResponse) {
                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欄位】
title false String 影片標題
desc false String 影片描述【對應API文件的describ欄位】
tag false String 影片標籤資訊
publishUrl false String 外部連結網址
appId true String 子帳號appId
secretKey true String 子帳號secretKey

回傳物件描述

true 表示修改成功,false 表示修改失敗




4、刪除影片

描述

通过视频id删除视频
接口地址(仅做说明使用):https://api.polyv.net//v3/video/delete-video

呼叫限制

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

單元測試

    @Test
    public void testDeleteVideo() throws IOException, NoSuchAlgorithmException {
        VodSubAccountDeleteVideoRequest vodSubAccountDeleteVideoRequest = new VodSubAccountDeleteVideoRequest();
        Boolean vodDeleteVideoResponse = null;
        try {
            vodSubAccountDeleteVideoRequest.setVideoId("1b448be3238415eee2fa40753737255b_1")
                    //设置子账号相关
                    .setAppId(APP_ID).setSecretKey(SECRET_KEY);
            vodDeleteVideoResponse = new VodSubAccountServiceImpl().deleteVideo(vodSubAccountDeleteVideoRequest);
            Assert.assertTrue(vodDeleteVideoResponse);
            if (vodDeleteVideoResponse) {
                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欄位】
appId true String 子帳號appId
secretKey true String 子帳號secretKey

回傳物件描述

true 表示刪除影片成功,false 表示刪除影片失敗




5、新增影片分類

描述

通过分类名等参数新增视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/add

呼叫限制

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

單元測試

    @Test
    public void testAddCategory() throws IOException, NoSuchAlgorithmException {
        VodSubAccountAddCategoryRequest vodSubAccountAddCategoryRequest = new VodSubAccountAddCategoryRequest();
        String vodDeleteVideoResponse = null;
        try {
            vodSubAccountAddCategoryRequest.setName("junit测试新增分类20210309").setParentId(null)
                    //设置子账号相关
                    .setAppId(APP_ID).setSecretKey(SECRET_KEY);
            vodDeleteVideoResponse = new VodSubAccountServiceImpl().addCategory(vodSubAccountAddCategoryRequest);
            Assert.assertNotNull(vodDeleteVideoResponse);
            if (vodDeleteVideoResponse != null) {
                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、請求正確,回傳 String 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必選 類型 說明
name true String 分類名稱
parentId false String 父分類 ID,預設為 1,放在根目錄下
appId true String 子帳號 appId
secretKey true String 子帳號 secretKey

回傳物件描述

新增成功返回新增的分類 ID




6、查詢影片分類

描述

通过分类id查询视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/get

呼叫限制

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

單元測試

    @Test
    public void testQueryCategory() throws IOException, NoSuchAlgorithmException {
        VodSubAccountQueryCategoryRequest vodSubAccountQueryCategoryRequest = new VodSubAccountQueryCategoryRequest();
        VodSubAccountQueryCategoryResponse vodSubAccountQueryCategoryResponse = null;
        try {
            vodSubAccountQueryCategoryRequest.setCategoryId("1608891483165")
                    //设置子账号相关
                    .setAppId(APP_ID).setSecretKey(SECRET_KEY).setCurrentPage(1).setPageSize(20);
            vodSubAccountQueryCategoryResponse = new VodSubAccountServiceImpl().queryCategory(
                    vodSubAccountQueryCategoryRequest);
            Assert.assertNotNull(vodSubAccountQueryCategoryResponse);
            if (vodSubAccountQueryCategoryResponse != null) {
                log.debug("测试查询视频分类成功,{}", JSON.toJSONString(vodSubAccountQueryCategoryResponse));
            }
        } 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、請求正確,回傳VodSubAccountQueryCategoryResponse物件,B端依據此物件處理業務邏輯;

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

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

請求入參說明

參數名 必選 類型 說明
categoryId true String 分類ID【對應API文件的cateId欄位】
appId true String 子帳號appId
secretKey true String 子帳號secretKey
currentPage false Integer 頁數,預設為1【對應API文件的page欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料

回傳物件描述

參數名 類型 說明
category Category 目前分類【詳見Category參數說明
subCategoryTotal Integer 下一層子分類數量
subCategories Array 下一層子分類列表【詳見Category參數說明
Category參數描述
參數名 類型 說明
categoryId String 分類 ID【對應 API 文件的 cateId 欄位】
categoryName String 分類名稱【對應 API 文件的 cateName 欄位】
parentId String 父分類 ID






7、修改影片分類

描述

修改视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/update-info

呼叫限制

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

單元測試

    @Test
    public void testUpdateCategory() throws IOException, NoSuchAlgorithmException {
        VodSubAccountUpdateCategoryRequest vodSubAccountUpdateCategoryRequest =
                new VodSubAccountUpdateCategoryRequest();
        Boolean vodUpdateCategoryResponse = null;
        try {
            vodSubAccountUpdateCategoryRequest.setCategoryId("1602671097888").setCategoryName("勿删分类-"+super.getRandomString(4))
                    //设置子账号相关
                    .setAppId(APP_ID).setSecretKey(SECRET_KEY);
            vodUpdateCategoryResponse = new VodSubAccountServiceImpl().updateCategory(
                    vodSubAccountUpdateCategoryRequest);
            Assert.assertTrue(vodUpdateCategoryResponse);
            if (vodUpdateCategoryResponse) {
                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 文件的 cateId 欄位】
categoryName true String 分類名稱【對應 API 文件的 cateName 欄位】
appId true String 子帳號 appId
secretKey true String 子帳號 secretKey

回傳物件描述

true 表示修改成功,false 表示修改失敗




8、刪除影片分類

描述

通过视频分类id删除视频分类
接口地址(仅做说明使用):https://api.polyv.net//v3/category/delete

呼叫限制

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

單元測試

    @Test
    public void testDeleteCategory() throws IOException, NoSuchAlgorithmException {
        VodSubAccountDeleteCategoryRequest vodSubAccountDeleteCategoryRequest =
                new VodSubAccountDeleteCategoryRequest();
        Boolean vodDeleteCategoryResponse = null;
        try {
            //生成测试数据
            String categoryId = super.addCategoryOther();
            vodSubAccountDeleteCategoryRequest.setCategoryId(categoryId)
                    //设置子账号相关
                    .setAppId(APP_ID).setSecretKey(SECRET_KEY);
            vodDeleteCategoryResponse = new VodSubAccountServiceImpl().deleteCategory(
                    vodSubAccountDeleteCategoryRequest);
            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文件的cateId欄位】
appId true String 子帳號appId
secretKey true String 子帳號secretKey

回傳物件描述

true 表示刪除成功,false 表示刪除失敗




9、批次修改影片所屬分類

描述

通过视频id批量修改视频所属分类
接口地址(仅做说明使用):https://api.polyv.net//v3/video/update-category

呼叫限制

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

單元測試

    @Test
    public void testUpdateVideoCategory() throws IOException, NoSuchAlgorithmException {
        VodSubAccountUpdateVideoCategoryRequest vodSubAccountUpdateVideoCategoryRequest =
                new VodSubAccountUpdateVideoCategoryRequest();
        Boolean vodUpdateVideoCategoryResponse = null;
        try {
            vodSubAccountUpdateVideoCategoryRequest.setVideoIds(super.getTestVideoId()).setCategoryId("1602300731843")
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodUpdateVideoCategoryResponse = new VodSubAccountServiceImpl().updateVideoCategory(
                    vodSubAccountUpdateVideoCategoryRequest);
            Assert.assertTrue(vodUpdateVideoCategoryResponse);
            if (vodUpdateVideoCategoryResponse) {
                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. ]

請求入參說明

參數名 必選 類型 說明
videoIds true String 影片ID串,多個影片ID之間用英文逗號分隔(狀態為半形),例如 1b8be3,239c2e【對應 API 文件的 vids 欄位】
categoryId false String 影片分類 ID【對應 API 文件的 cateId 欄位】
appId true String 子帳號 appId
secretKey true String 子帳號 secretKey

回傳物件描述

true 表示修改成功,false 表示修改失敗




10、修改影片分類屬性設定

描述

通过分类id修改视频分类属性设置
接口地址(仅做说明使用):https://api.polyv.net//v3/category/update-profile

呼叫限制

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

單元測試

    @Test
    public void testUpdateCategoryProfile() throws IOException, NoSuchAlgorithmException {
        VodSubAccountUpdateCategoryProfileRequest vodSubAccountUpdateCategoryProfileRequest =
                new VodSubAccountUpdateCategoryProfileRequest();
        Boolean vodUpdateCategoryProfileResponse = null;
        try {
            vodSubAccountUpdateCategoryProfileRequest.setCategoryId("1615286323771")
                    .setEnabled("Y")
                    .setKeepSource(0)
                    .setEncrypt(0)
                    .setEncryptLevel("open")
                    .setIsEdu(0)
                    .setEncodeAAC(0)
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodUpdateCategoryProfileResponse = new VodSubAccountServiceImpl().updateCategoryProfile(
                    vodSubAccountUpdateCategoryProfileRequest);
            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 String 分類 ID【對應 API 文件的 cateId 欄位】
enabled String 是否啟用分類設定 Y:啟用, N:關閉,預設值為 N:關閉
keepSource Integer 1:原始檔案播放;0:非原始檔案播放,若為原始檔案播放,encrypt、encryptLevel、isEdu、encodeAAC 參數不生效,預設值為 0:非原始檔案播放
encrypt Integer 1:開啟影片加密,0:不加密,預設值為 0:不加密
encryptLevel String 加密等級,取值有: open、web、app、wxa_app,分別代表非加密授權,Web 授權,APP 授權,小程式授權,預設值為 open:非加密授權
isEdu Integer 1:啟用錄製螢幕優化, 0:關閉,預設值為 0:關閉
encodeAAC Integer 1:產生 aac, 0:不產生,預設為 0:不產生
appId String 子帳號 appId
secretKey String 子帳號 secretKey

回傳物件描述

true 表示修改成功,false 表示修改失敗




11、取得 Playsafe Token

描述

通过子账号appId与视频id获取播放凭证,用于播放加密视频
接口地址(仅做说明使用):https://hls.videocc.net//service/v2/token/create-child

呼叫限制

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

2、如果一個 token(播放憑證)尚未過期,此時使用相同的 videoId、viewerId、viewerIp、isWxa 參數值請求該介面,則會複用原來的 token,並延長原 token 的有效期。

單元測試

    @Test
    public void testGetPlaySafeToken() throws IOException, NoSuchAlgorithmException {
        VodSubAccountGetPlaySafeTokenRequest vodSubAccountGetPlaySafeTokenRequest =
                new VodSubAccountGetPlaySafeTokenRequest();
        VodSubAccountGetPlaySafeTokenResponse vodSubAccountGetPlaySafeTokenResponse = null;
        try {
            vodSubAccountGetPlaySafeTokenRequest.setVideoId("1b448be32370f4822ac40fd926112a66_1")
                    .setViewerId("ovtl9t_RxnrTdqkXqkT5Q5lnxp2A")
                    .setViewerIp(super.getRandomIp())
                    .setViewerName("TestViewerName")
                    .setExpires(Long.parseLong("60"))
                    .setDisposable(Boolean.TRUE)
                    .setIsWxa(0)
                    //设置子账号相关
                    .setAppId(APP_ID)
                    .setSecretKey(SECRET_KEY);
            vodSubAccountGetPlaySafeTokenResponse = new VodSubAccountServiceImpl().getPlaySafeToken(
                    vodSubAccountGetPlaySafeTokenRequest);
            Assert.assertNotNull(vodSubAccountGetPlaySafeTokenResponse);
            if (vodSubAccountGetPlaySafeTokenResponse != null) {
                log.debug("测试获取Playsafe Token成功,{}", JSON.toJSONString(vodSubAccountGetPlaySafeTokenResponse));
            }
        } 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、請求正確,回傳 VodSubAccountGetPlaySafeTokenResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必選 類型 說明
videoId true String 影片ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
viewerId true String 觀看者ID,要求不同的觀看者使用不同的ID
viewerIp false String 觀看者IP,如果為空,會自動獲取呼叫該介面時的IP
viewerName false String 觀看者名稱
expires false Long token 有效時長,單位為秒。為空時預設為10分鐘
disposable false Boolean token有效期,true表示token僅一次有效(驗證一次後,token就失效了),false表示在有效期內可以進行多次驗證。預設為false
isWxa false Integer 是否微信小程式播放,1為是,0為否。預設為0【對應api文件的iswxa欄位】
extraParams false String 自訂的其他參數
appId true String 子帳號appId
secretKey true String 子帳號secretKey

回傳物件描述

參數名 類型 說明
token String token(播放憑證)
userId String 使用者ID
videoId String 影片ID,例如 e6b23c6f519c5906e54a13b8200d7bb0_e
viewerIp String 觀看者IP,若為空,則自動取得呼叫該介面時的IP
viewerId String 觀看者ID,要求不同的觀看者使用不同的ID
viewerName String 觀看者名稱
extraParams String 自訂的其他參數
ttl Long token 有效時長,單位為毫秒
createdTime Date token 建立時間
expiredTime Date token 過期時間
isWxa Integer 是否為微信小程式播放,1為是,0為否【對應API文件的iswxa欄位】
disposable Boolean token有效期,true表示token僅一次有效(驗證一次後,token即失效),false表示在有效期內可進行多次驗證






12、查詢子帳號統計彙總資料

描述

按日期查询子账号统计汇总数据
接口地址(仅做说明使用):https://api.polyv.net/v2/sub-account/stats/agg/page

呼叫限制

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

單元測試

    @Test
    public void testGetSubStatsAgg() throws IOException, NoSuchAlgorithmException {
        VodSubAccountStatsAggPageRequest vodSubAccountStatsAggPageRequest = new VodSubAccountStatsAggPageRequest();
        VodSubAccountStatsAggPageResponse vodSubAccountStatsAggPageResponse = null;
        try {
            vodSubAccountStatsAggPageRequest.setStartDate(getDate(2020, 6, 24)).setEndDate(getDate(2021, 4, 24));
            vodSubAccountStatsAggPageResponse = new VodSubAccountServiceImpl().getSubStatsAgg(
                    vodSubAccountStatsAggPageRequest);
            Assert.assertNotNull(vodSubAccountStatsAggPageResponse);
            if (vodSubAccountStatsAggPageResponse != null) {
                log.debug("测试查询子账号统计汇总数据成功{}", JSON.toJSONString(vodSubAccountStatsAggPageResponse));
            }
        } 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、請求正確,回傳 VodSubAccountStatsAggPageResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求入參描述

參數名 必填 類型 說明
startDate true Date 查詢的開始時間,格式要求:yyyy-MM-dd,時間跨度不得超過一年
endDate true Date 查詢的結束時間,格式要求:yyyy-MM-dd,時間跨度不得超過一年
email false String 要查詢的子帳號電子郵件,若同時傳入 email 和 appId,則優先使用 email
appId false String 要查詢的子帳號 appId
currentPage false Integer 頁碼,預設為 1【對應 API 文件的 page 欄位】
pageSize false Integer 每頁顯示的資料筆數,預設每頁顯示 20 筆資料

回傳物件描述

參數名 類型 說明
contents Array 查詢的結果列表【詳見VodContents參數描述
pageSize Integer 每頁顯示的資料筆數,預設每頁顯示20筆資料
currentPage Integer 當前頁【對應API文件的pageNumber欄位】
totalItems Integer 記錄總筆數
totalPage Integer 總頁數【對應API文件的totalPages欄位】
VodContentsList參數描述
參數名稱 類型 說明
email String 子帳號電子郵件,若子帳號已刪除,則此欄位為 null
appId String 子帳號 appId
flowSize Long 原始檔案大小,單位:byte
view Long 播放次數,單位:次
duration Long 播放時長,單位:秒






13、查詢子帳號統計詳情

描述

按日期查询子账号统计详情列表
接口地址(仅做说明使用):https://api.polyv.net/v2/sub-account/stats/detail/list

呼叫限制

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

2、email 和 appId 不能同時為空

單元測試

    @Test
    public void testGetSubStatsDetailList() throws IOException, NoSuchAlgorithmException {
        VodSubAccountStatsDetailRequest vodSubAccountStatsDetailRequest = new VodSubAccountStatsDetailRequest();
        VodSubAccountStatsDetailResponse vodSubAccountStatsDetailResponse = null;
        try {
            vodSubAccountStatsDetailRequest.setStartDate(getDate(2021, 4, 10))
                    .setEndDate(getDate(2021, 4, 24))
                    .setAppId(APP_ID);
            vodSubAccountStatsDetailResponse = new VodSubAccountServiceImpl().getSubStatsDetailList(
                    vodSubAccountStatsDetailRequest);
            Assert.assertNotNull(vodSubAccountStatsDetailResponse);
            if (vodSubAccountStatsDetailResponse != null) {
                log.debug("测试测试查询子账号统计详情{}", JSON.toJSONString(vodSubAccountStatsDetailResponse));
            }
        } 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、請求正確,回傳 VodSubAccountStatsDetailResponse 物件,B 端依據此物件處理業務邏輯;

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

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

請求參數說明

參數名 必選 類型 說明
startDate true Date 查詢的開始時間,格式要求:yyyy-MM-dd,時間跨度不能超過一年
endDate true Date 查詢的結束時間,格式要求:yyyy-MM-dd,時間跨度不能超過一年
email false String 要查詢的子帳號電子郵件,如果同時傳入 email 和 appId,則優先使用 email
appId false String 要查詢的子帳號 appId

回傳物件描述

參數名稱 類型 說明
details Array 查詢的結果列表【詳見VodStatsDetailList參數描述
VodStatsDetailList參數描述
參數名 類型 說明
currentDay String 日期,格式:yyyy-MM-dd,如:2021-06-01
pcFlowSize Long PC端播放流量,單位:byte
mobileFlowSize Long 行動端播放流量,單位:byte
totalFlowSize Long 總流量,單位:byte
pcView Long PC端播放量,單位:個
mobileView Long 行動端播放量,單位:個
totalView Long 總播放量,單位:個
pcDuration Long PC端播放時長,單位:秒
mobileDuration Long 行動端播放時長,單位:秒
totalDuration Long 總播放時長,單位:秒

联系客服,在线咨询