editService
1、修改單一影片資訊
描述
通过视频id等参数修改单个视频信息
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/video-info
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateVideoInfo() throws IOException, NoSuchAlgorithmException {
VodUpdateVideoInfoRequest vodUpdateVideoInfoRequest = new VodUpdateVideoInfoRequest();
VodUpdateVideoInfoResponse vodUpdateVideoInfoResponse = null;
try {
vodUpdateVideoInfoRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoId(super.getTestVideoId())
.setDesc("这是一个通过junit合并的视频")
.setTag("junit测试");
vodUpdateVideoInfoResponse = new VodEditServiceImpl().updateVideoInfo(vodUpdateVideoInfoRequest);
Assert.assertNotNull(vodUpdateVideoInfoResponse);
if (vodUpdateVideoInfoResponse != null) {
log.debug("测试修改单个视频信息成功,{}", JSON.toJSONString(vodUpdateVideoInfoResponse));
}
} 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、請求正確,回傳 VodUpdateVideoInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片 ID【對應 API 文件的 vid 欄位】 |
| desc | false | String | 影片描述【對應 API 文件的 describ 欄位】 |
| publishUrl | false | String | 影片首發外部連結 |
| tag | false | String | 影片標籤 |
| title | false | String | 影片標題 |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| imagesBig | String[] | 影片截圖大圖網址【對應 API 文件的 images_b 欄位】 |
| images | String[] | 影片截圖小圖網址 |
| tag | String | 影片標籤 |
| title | String | 影片標題 |
| df | Integer | 影片位元率數 |
| times | String | 播放次數 |
| videoId | String | 影片 id【對應 API 文件的 vid 欄位】 |
| SDMp4 | String | 流暢位元率 mp4 格式影片網址【對應 API 文件的 mp4_1 欄位】 |
| HDmp4 | String | 高清位元率 mp4 格式影片網址【對應 API 文件的 mp4_2 欄位】 |
| FHDmp4 | String | 超清位元率 mp4 格式影片網址【對應 API 文件的 mp4_3 欄位】 |
| categoryId | String | 分類 id,如 1 為根目錄【對應 API 文件的 cataid 欄位】 |
| swfLink | String | 回傳 flash 連結【對應 API 文件的 swf_link 欄位】 |
| status | String | 影片狀態:60/61 已發佈;10 等待編碼;20 正在編碼;50 等待審核;51 審核不通過;-1 已刪除; |
| seed | Integer | 加密影片為 1,非加密為 0 |
| SDFlv | String | 流暢位元率 flv 格式影片網址【對應 API 文件的 flv1 欄位】 |
| HDFlv | String | 高清位元率 flv 格式影片網址【對應 API 文件的 flv2 欄位】 |
| FHDFlv | String | 超清位元率 flv 格式影片網址【對應 API 文件的 flv3 欄位】 |
| sourceFile | String | 原始檔案【對應 API 文件的 sourcefile 欄位】 |
| playerWidth | String | 影片寬度【對應 API 文件的 playerwidth 欄位】 |
| defaultVideo | String | 使用者預設播放影片【對應 API 文件的 default_video 欄位】 |
| duration | String | 影片時長,如:00:00:48 |
| firstImage | String | 影片首圖【對應 API 文件的 first_image 欄位】 |
| originalDefinition | String | 最佳解析度【對應 API 文件的 original_definition 欄位】 |
| context | String | 影片描述 |
| playerHeight | String | 影片高度【對應 API 文件的 playerheight 欄位】 |
| uploadTime | String | 上傳時間【對應 API 文件的 ptime 欄位】 |
| sourceFilesize | String | 原始檔案大小【對應 API 文件的 source_filesize 欄位】 |
| filesize | String[] | 編碼後各個清晰度影片的檔案大小,類型為 array |
| md5Checksum | String | md5 校驗值【對應 API 文件的 md5checksum 欄位】 |
| hls | String[] | 編碼後各個清晰度影片的 m3u8 網址,類型為 array |
| keepSource | String | 是否為原始檔案,否:0,是:1【對應 API 文件的 keepsource 欄位】 |
| uploader | Uploader | 上傳者資訊【詳見Uploader 參數說明】 |
| hlsLevel | String | 加密等級 open:非授權加密 web:web 授權 app:app 授權 wxa_app:小程式授權 |
| categoryName | String | 分類名稱【對應 API 文件的 cataname 欄位】 |
Uploader 參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| String | 上傳者信箱 | |
| name | String | 上傳者名稱 |
| role | String | 上傳者角色,如管理員,上傳者,主帳號 |
2、修改影片的授權播放開關
描述
通过视频id修改单个视频或多个视频的授权播放开关状态
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/authplay-status
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateVideoPlayStatus() throws IOException, NoSuchAlgorithmException {
VodUpdateVideoPlayStatusRequest vodUpdateVideoPlayStatusRequest = new VodUpdateVideoPlayStatusRequest();
Boolean vodUpdateVideoPlayStatusResponse = null;
try {
vodUpdateVideoPlayStatusRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoIds("1b448be3238618df117f9302327f28d6_1").setPlayAuth(1);
vodUpdateVideoPlayStatusResponse = new VodEditServiceImpl().updateVideoPlayStatus(
vodUpdateVideoPlayStatusRequest);
Assert.assertTrue(vodUpdateVideoPlayStatusResponse);
if (vodUpdateVideoPlayStatusResponse) {
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,用英文逗號隔開(狀態為半形),例如 1b8be3,239c2e【對應 API 文件的 vids 欄位】 |
| playAuth | false | Integer | 是否開啟,0:關閉,1:開啟,預設為開啟【對應 API 文件的 playauth 欄位】 |
回傳物件說明
true 為修改成功,false 為修改失敗
3、批次修改影片的授權方式
描述
通过视频id与加密授权参数批量修改视频的授权方式
接口地址(仅做说明使用):https://api.polyv.net/v2/config/%s/hlslevel
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateVideoHlsLevelList() throws IOException, NoSuchAlgorithmException {
VodUpdateVideoHlsLevelListRequest vodUpdateVideoHlsLevelListRequest = new VodUpdateVideoHlsLevelListRequest();
Boolean vodUpdateVideoHlsLevelListResponse = null;
try {
vodUpdateVideoHlsLevelListRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoIds(super.getTestVideoId()).setHlsLevel("open");
vodUpdateVideoHlsLevelListResponse = new VodEditServiceImpl().updateVideoHlsLevelList(
vodUpdateVideoHlsLevelListRequest);
Assert.assertTrue(vodUpdateVideoHlsLevelListResponse);
if (vodUpdateVideoHlsLevelListResponse) {
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. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| hlsLevel | true | String | 加密授權參數,值為 open/web/app/wxa_app 之一,open 為開放授權,web 為 WEB 授權,app 為 APP 授權,wxa_app 為小程式授權【對應 API 文件的 hlslevel 欄位】 |
| videoIds | true | String | 多個影片的 vid,用英文逗號隔開【對應 API 文件的 vids 欄位】 |
回傳物件說明
true 為修改影片授權方式成功,false 為修改授權方式失敗
4、修改影片的播放預覽時長
描述
1、通过视频id修改视频的预览时长。
2、使用点播后台视频列表,选择视频,复制右侧预览代码即可播放预览视频
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/set-preview-duration
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testSetVideoPreviewDuration() throws IOException, NoSuchAlgorithmException {
VodSetVideoPreviewDurationRequest vodSetVideoPreviewDurationRequest = new VodSetVideoPreviewDurationRequest();
Boolean vodSetVideoPreviewDurationResponse = null;
try {
vodSetVideoPreviewDurationRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoId(super.getTestVideoId()).setDuration(60);
vodSetVideoPreviewDurationResponse = new VodEditServiceImpl().setVideoPreviewDuration(
vodSetVideoPreviewDurationRequest);
Assert.assertTrue(vodSetVideoPreviewDurationResponse);
if (vodSetVideoPreviewDurationResponse) {
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 欄位】 |
| duration | true | Integer | 預覽的時長(單位是秒),例如:20 |
回傳物件說明
true 為設定成功,false 為設定失敗
5、修改影片禁播與解禁開關
描述
通过视频id修改视频禁播与解禁状态
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/forbidden
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、禁播後會將影片狀態(status)設定成 53,一次最多只能操作 500 個 vid
3、只能修改”已發佈”狀態的影片為禁播狀態,只能修改“已禁播”狀態的影片為已發佈狀態
4、當請求中的影片包含多種狀態時,只對符合條件的影片進行狀態修改操作,並回傳成功;若沒有符合條件的 vid 則回傳錯誤。
單元測試
@Test
public void testSetVideoForbidden() throws IOException, NoSuchAlgorithmException {
VodSetVideoForbiddenRequest vodSetVideoForbiddenRequest = new VodSetVideoForbiddenRequest();
Boolean vodSetVideoForbiddenResponse = null;
try {
vodSetVideoForbiddenRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoIds(super.getTestVideoId()).setForbidden(0);
vodSetVideoForbiddenResponse = new VodEditServiceImpl().setVideoForbidden(vodSetVideoForbiddenRequest);
Assert.assertTrue(vodSetVideoForbiddenResponse);
if (vodSetVideoForbiddenResponse) {
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 | 影片 vid,多個影片以英文逗號分隔【對應 API 文件的 vids 欄位】 |
| forbidden | true | Integer | 1:禁播,0:解禁 |
回傳物件說明
true 為設定成功,false 為設定失敗
6、修改影片密碼
描述
通过视频id批量修改视频密码
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/video-setting-save
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testUpdateVideoSetting() throws IOException, NoSuchAlgorithmException {
VodUpdateVideoSettingRequest vodUpdateVideoSettingRequest = new VodUpdateVideoSettingRequest();
Boolean vodUpdateVideoSettingResponse = null;
try {
vodUpdateVideoSettingRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoIds("1b448be32355403dad586f7468e63e23_1,1b448be323a9076c9941604ac1c667f9_1")
.setPassword(super.getRandomString(10))
.setPublishUrl(null)
.setTag("junit")
.setTitle("junit测试");
vodUpdateVideoSettingResponse = new VodEditServiceImpl().updateVideoSetting(vodUpdateVideoSettingRequest);
Assert.assertTrue(vodUpdateVideoSettingResponse);
if (vodUpdateVideoSettingResponse) {
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,多個使用英文逗號分隔【對應 API 文件的 vids 欄位】 |
| desc | false | String | 影片描述【對應 API 文件的 describ 欄位】 |
| password | false | String | 影片密碼 |
| publishUrl | false | String | 首發外部連結 |
| tag | false | String | 影片標籤 |
| title | false | String | 影片標題 |
回傳物件說明
true 為修改成功,false 為刪除失敗
7、移動影片到指定分類
描述
通过视频id与分类id移动视频到指定分类
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/changeCata
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testMoveVideo() throws IOException, NoSuchAlgorithmException {
VodMoveVideoRequest vodMoveVideoRequest = new VodMoveVideoRequest();
Boolean vodMoveVideoResponse = null;
try {
vodMoveVideoRequest.setCategoryId("1602671097888").setVideoIds(super.getTestVideoId());
vodMoveVideoResponse = new VodCategoryServiceImpl().moveVideo(vodMoveVideoRequest);
Assert.assertTrue(vodMoveVideoResponse);
if (vodMoveVideoResponse) {
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,可以選擇多個影片,逗號分割,例如 e2e85038_e,e2e85039_e【對應 API 文件的 vids 欄位】 |
| categoryId | true | String | 影片將要移動到的目標分類 ID【對應 API 文件的 cataid 欄位】 |
回傳物件說明
true 為修改成功,false 為修改失敗
8、還原回收站影片
描述
通过视频id批量恢复回收站中的视频
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/recover-videos
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、API 支援批次還原,一次性最多支援還原
