infoService
1、查詢單一影片資訊
描述
通过视频id查询单个视频的信息
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/get-video-msg
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideo() throws IOException, NoSuchAlgorithmException {
VodGetVideoRequest vodGetVideoRequest = new VodGetVideoRequest();
VodGetVideoResponse vodGetVideoResponse = null;
try {
vodGetVideoRequest.setVideoId(super.getTestVideoId());
vodGetVideoResponse = new VodInfoServiceImpl().getVideo(vodGetVideoRequest);
Assert.assertNotNull(vodGetVideoResponse);
if (vodGetVideoResponse != null) {
log.debug("测试查询单个视频信息成功,{}", JSON.toJSONString(vodGetVideoResponse));
}
} 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、請求正確,回傳VodGetVideoResponse物件,B端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤資訊請參閱 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應API文件的vid欄位】 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| swfLink | String | 回傳 flash 連結【對應 API 文件的 swf_link 欄位】 |
| tag | String | 影片標籤 |
| mp4 | String | MP4 原始檔案 |
| playerWidth | Integer | 影片寬度【對應 API 文件的 playerwidth 欄位】 |
| title | String | 影片標題 |
| duration | String | 影片長度,例如:00:00:48 |
| filesize | Long[] | 編碼後各清晰度影片的檔案大小,類型為 array |
| firstImage | String | 影片首圖【對應 API 文件的 first_image 欄位】 |
| times | Integer | 播放次數 |
| context | String | 影片描述 |
| originalDefinition | String | 最佳解析度,例如:1280x720【對應 API 文件的 original_definition 欄位】 |
| images | String[] | 影片截圖 |
| playerHeight | Integer | 影片高度【對應 API 文件的 playerheight 欄位】 |
| uploadTime | Date | 上傳時間,格式:yyyy-MM-dd HH:mm:ss【對應 API 文件的 ptime 欄位】 |
| videoId | String | 影片 ID【對應 API 文件的 vid 欄位】 |
| previewVideoId | String | 預覽影片 ID【對應 API 文件的 previewVid 欄位】 |
| categoryId | String | 分類 ID,例如 1 為根目錄【對應 API 文件的 cataid 欄位】 |
| defaultVideo | String | 使用者預設播放影片【對應 API 文件的 default_video 欄位】 |
| df | Integer | 影片碼率數 |
| SDFlv | String | 流暢碼率 flv 格式影片位址【對應 API 文件的 flv1 欄位】 |
| HDFlv | String | 高清碼率 flv 格式影片位址【對應 API 文件的 flv2 欄位】 |
| FHDFlv | String | 超清碼率 flv 格式影片位址【對應 API 文件的 flv3 欄位】 |
| SDMp4 | String | 流暢碼率 mp4 格式影片位址【對應 API 文件的 mp4_1 欄位】 |
| HDmp4 | String | 高清碼率 mp4 格式影片位址【對應 API 文件的 mp4_2 欄位】 |
| FHDmp4 | String | 超清碼率 mp4 格式影片位址【對應 API 文件的 mp4_3 欄位】 |
| hls | String[] | 索引檔案,記錄每個清晰度的 m3u8 連結,陣列第一個為流暢連結,第二個為高清,第三個為超清,陣列長度為 1-3 |
| SDHls | String | 流暢清晰度的 m3u8 |
| HDHls | String | 高清清晰度的 m3u8 |
| FHDHls | String | 超清清晰度的 m3u8 |
| imagesBig | String[] | 影片截圖大圖位址【對應 API 文件的 images_b 欄位】 |
| seed | Integer | 加密影片為 1,非加密為 0 |
| status | Integer | 影片狀態:60/61 已發布;10 等待編碼;20 正在編碼;50 等待審核;51 審核不通過;-1 已刪除; |
| keepSource | Integer | 是否為原始檔案,否:0,是:1【對應 API 文件的 keepsource 欄位】 |
| uploader | Uploader | 上傳者資訊【詳見 Uploader 參數描述】 |
| hlsLevel | String | 加密等級 open:非授權加密 web:web 授權 app:app 授權 wxa_app:小程式授權 |
| categoryName | String | 分類名稱【對應 API 文件的 cataname 欄位】 |
| imageUrls | Array | 影片截圖小圖 url |
| sourceFileSize | String | 原始影片檔案大小,單位為:byte【對應 API 文件的 source_filesize 欄位】 |
| md5CheckSum | String | 上傳到 POLYV 雲平台的影片原始檔案的 MD5 值,可用來校驗是否上傳錯誤或完整【對應 API 文件的 md5checksum 欄位】 |
Uploader參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| String | 上傳者信箱 | |
| name | String | 上傳者名稱 |
| role | String | 上傳者角色,如管理員、上傳者、主帳號 |
2、查詢影片授權播放開關
描述
通过视频id查询视频授权播放开关状态
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/authplay-status
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideoPlayStatus() throws IOException, NoSuchAlgorithmException {
VodGetVideoPlayStatusRequest vodGetVideoPlayStatusRequest = new VodGetVideoPlayStatusRequest();
Boolean vodGetVideoPlayStatusResponse = null;
try {
vodGetVideoPlayStatusRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoId(super.getTestVideoId());
vodGetVideoPlayStatusResponse = new VodInfoServiceImpl().getVideoPlayStatus(vodGetVideoPlayStatusRequest);
Assert.assertTrue(vodGetVideoPlayStatusResponse);
if (vodGetVideoPlayStatusResponse) {
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 為開關關閉
3、查詢影片時長與大小
描述
通过视频id或分类id查询视频的时长和大小
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/getSizeByCata
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、當傳入 videoIds 時,依照 videoIds 查詢;當僅傳入 categoryIds 時,依照 categoryIds 查詢;videoIds 和 categoryIds 不能同時為空;同時傳入時以 videoIds 為準
單元測試
@Test
public void testGetVideoSize() throws IOException, NoSuchAlgorithmException {
VodGetVideoSizeRequest vodGetVideoSizeRequest = new VodGetVideoSizeRequest();
List<VodGetVideoSizeResponse> vodGetVideoSizeResponseList = null;
try {
vodGetVideoSizeRequest.setVideoIds(super.getTestVideoId()).setCategoryIds("1602300731843");
vodGetVideoSizeResponseList = new VodInfoServiceImpl().getVideoSize(vodGetVideoSizeRequest);
Assert.assertNotNull(vodGetVideoSizeResponseList);
if (vodGetVideoSizeResponseList != null) {
log.debug("测试根据分类批量查询视频时长和大小成功,{}", JSON.toJSONString(vodGetVideoSizeResponseList));
}
} 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、請求正確,回傳 VodGetVideoSizeResponse 物件,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 欄位】 |
| categoryIds | false | String | 多個分類ID(逗號分隔),當傳入 vids 時,依 vids 查詢;當僅傳入 cataid 時,依 cataid 查詢;vids 和 cataid 不能同時為空【對應 API 文件的 cataid 欄位】 |
回傳物件描述
回傳物件是List<VodGetVideoSizeResponse>,VodGetVideoSizeResponse具體元素內容如下:
| 參數名 | 類型 | 說明 |
|---|---|---|
| categoryId | String | 分類ID【對應API文件的cataid欄位】 |
| videos | Array | 影片結果列表【詳見Video參數說明】 |
Video參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| videoId | String | 影片ID【對應API文件的vid欄位】 |
| duration | String | 時長,格式為hh:mm:ss。例如 00:03:11 |
| filesize1 | Long | 編碼後碼率1FLV的大小,單位為Bytes:位元組 |
| filesize2 | Long | 編碼後碼率2FLV的大小,單位為Bytes:位元組 |
| filesize3 | Long | 編碼後碼率3FLV的大小,單位為Bytes:位元組 |
4、查詢微信分享頁的影片資訊
描述
通过视频id查询微信分享页的视频信息
接口地址(仅做说明使用):https://api.polyv.net/v2/video/wechat-share/%s/video-info
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetWeChatShareVideoInfo() throws IOException, NoSuchAlgorithmException {
VodGetWeChatShareVideoInfoRequest vodGetWeChatShareVideoInfoRequest = new VodGetWeChatShareVideoInfoRequest();
VodGetWeChatShareVideoInfoResponse vodGetWeChatShareVideoInfoResponse = null;
try {
vodGetWeChatShareVideoInfoRequest.setVideoId(super.getTestVideoId());
vodGetWeChatShareVideoInfoResponse = new VodInfoServiceImpl().getWeChatShareVideoInfo(
vodGetWeChatShareVideoInfoRequest);
Assert.assertNotNull(vodGetWeChatShareVideoInfoResponse);
if (vodGetWeChatShareVideoInfoResponse != null) {
log.debug("测试查询微信分享页的视频相关信息成功,{}", JSON.toJSONString(vodGetWeChatShareVideoInfoResponse));
}
} 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、請求正確,回傳 VodGetWeChatShareVideoInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應API文件的vid欄位】 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| videoCoverImg | String | 影片封面圖 |
| videoTitle | String | 影片微信分享標題 |
| videoDesc | String | 影片描述 |
| videoIcon | String | 影片圖示 |
| originalPlayTimes | Integer | 初始播放次數 |
| originalLikeNum | Integer | 初始按讚數 |
5、查詢影片播放預覽時長
描述
通过视频id查询视频播放预览时长
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/get-preview-duration
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideoPreviewDuration() throws IOException, NoSuchAlgorithmException {
VodGetVideoPreviewDurationRequest vodGetVideoPreviewDurationRequest = new VodGetVideoPreviewDurationRequest();
Integer vodGetVideoPreviewDurationResponse = null;
try {
vodGetVideoPreviewDurationRequest.setVideoId(super.getTestVideoId());
vodGetVideoPreviewDurationResponse = new VodInfoServiceImpl().getVideoPreviewDuration(
vodGetVideoPreviewDurationRequest);
Assert.assertNotNull(vodGetVideoPreviewDurationResponse);
if (vodGetVideoPreviewDurationResponse != null) {
log.debug("测试查询视频播放预览时长成功,{}", JSON.toJSONString(vodGetVideoPreviewDurationResponse));
}
} 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、請求正確,回傳 Integer 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應 API 文件的 vid 欄位】 |
回傳物件描述
影片播放預覽時長,單位:秒
6、查詢單一影片的首圖
描述
通过视频id查询单个视频的首图
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/get-image
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideoFirstImage() throws IOException, NoSuchAlgorithmException {
VodGetVideoFirstImageRequest vodGetVideoFirstImageRequest = new VodGetVideoFirstImageRequest();
String vodGetVideoFirstImageResponse = null;
try {
vodGetVideoFirstImageRequest.setVideoId(super.getTestVideoId()).setThumbnail(1);
vodGetVideoFirstImageResponse = new VodInfoServiceImpl().getVideoFirstImage(vodGetVideoFirstImageRequest);
Assert.assertNotNull(vodGetVideoFirstImageResponse);
if (vodGetVideoFirstImageResponse != null) {
log.debug("测试查询单个视频的首图成功,{}", vodGetVideoFirstImageResponse);
}
} 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. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應API文件的vid欄位】 |
| thumbnail | false | Integer | 是否為影片首圖的縮圖,值為1:是;值為0:否。預設為0:非影片首圖的縮圖【對應API文件的t欄位】 |
回傳物件描述
首圖地址
7、查詢影片密碼
描述
通过视频id查询视频密码
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/video-setting-page
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testQueryVideoPassword() throws IOException, NoSuchAlgorithmException {
VodQueryVideoPasswordRequest vodQueryVideoPasswordRequest = new VodQueryVideoPasswordRequest();
VodQueryVideoPasswordResponse vodQueryVideoPasswordResponse = null;
try {
vodQueryVideoPasswordRequest.setVideoId(super.getTestVideoId());
vodQueryVideoPasswordResponse = new VodInfoServiceImpl().queryVideoPassword(vodQueryVideoPasswordRequest);
Assert.assertNotNull(vodQueryVideoPasswordResponse);
if (vodQueryVideoPasswordResponse != null) {
log.debug("测试查询视频密码成功,{}", JSON.toJSONString(vodQueryVideoPasswordResponse));
}
} 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、請求正確,回傳 VodQueryVideoPasswordResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求返回資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名稱 | 必選 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片ID【對應 API 文件的 vids 欄位】 |
回傳物件描述
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| isShowPassword | Boolean | 是否顯示密碼,預設為否 |
| password | String | 影片密碼 |
| videoId | String | 影片 ID |
| title | String | 影片標題 |
8、批次查詢影片播放次數
描述
通过视频id批量查询视频播放次数
接口地址(仅做说明使用):https://api.polyv.net/v2/data/%s/play-times
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideosPlayTimes() throws IOException, NoSuchAlgorithmException {
VodGetVideosPlayTimesRequest vodGetVideosPlayTimesRequest = new VodGetVideosPlayTimesRequest();
List<VodGetVideosPlayTimesResponse> vodGetVideosPlayTimesResponseList = null;
try {
vodGetVideosPlayTimesRequest.setVideoIds(
"1b448be3234406608b7838c7ef6b597c_1,1b448be323a146649ad0cc89d0faed9c_1").setRealTime(0);
vodGetVideosPlayTimesResponseList = new VodInfoServiceImpl().getVideosPlayTimes(
vodGetVideosPlayTimesRequest);
Assert.assertNotNull(vodGetVideosPlayTimesResponseList);
if (vodGetVideosPlayTimesResponseList != null) {
log.debug("测试批量查询视频播放次数成功,{}", JSON.toJSONString(vodGetVideosPlayTimesResponseList));
}
} 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、請求正確,回傳 VodGetVideosPlayTimesResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| videoIds | true | String | 多個影片ID(英文逗號分隔,狀態為半形),建議不超過200個,例如 1b8be3,239c2e【對應API文件的vids欄位】 |
| realTime | false | Integer | 是否即時,1表示即時,0表示非即時,預設為0:非即時 |
回傳物件描述
回傳物件是 List<VodGetVideosPlayTimesResponse>,VodGetVideosPlayTimesResponse 具體元素內容如下:
| 參數名稱 | 類型 | 說明 |
|---|---|---|
| videoId | String | 影片ID【對應API文件的vid欄位】 |
| times | Integer | 播放次數 |
9、查詢影片資訊
描述
通过视频id查询视频信息
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/get-video-info
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideoInfo() throws IOException, NoSuchAlgorithmException {
VodAccountQueryVideoInfoRequest vodAccountQueryVideoInfoRequest = new VodAccountQueryVideoInfoRequest();
List<VodAccountQueryVideoInfoResponse> vodAccountQueryVideoInfoResponse;
try {
vodAccountQueryVideoInfoRequest.setVideoIds(super.getTestVideoId());
vodAccountQueryVideoInfoResponse = new VodInfoServiceImpl().getVideoInfo(vodAccountQueryVideoInfoRequest);
Assert.assertNotNull(vodAccountQueryVideoInfoResponse);
if (vodAccountQueryVideoInfoResponse != null) {
//to do something ......
log.debug("测试查询视频信息成功 {}", JSON.toJSONString(vodAccountQueryVideoInfoResponse));
}
} 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、請求正確,回傳 VodAccountQueryVideoInfoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息請見 PloyvSdkException.getMessage(),例如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoIds | true | String | 影片 ID(可支援多個,以英文逗號分隔)【對應 API 文件的 vid 欄位】 |
回傳物件描述
回傳物件為 List<VodAccountQueryVideoInfoResponse>,VodAccountQueryVideoInfoResponse 具體元素內容如下:
| 參數名 | 類型 | 說明 |
|---|---|---|
| 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 | 建立時間,格式:yyyy-MM-dd HH:mm:ss |
| updateTime | Date | 更新時間,格式:yyyy-MM-dd HH:mm:ss |
| 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 | 截圖網址陣列 |
