搜尋影片
更新時間:2022-09-02 18:08:07
介面說明
1、通过子账号id,搜索视频
2、接口支持https协议
介面URL
http://api.polyv.net/v3/video/list-video
請求方式
GET
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看
請求參數說明
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 保利威點播子帳戶appId,取得路徑:保利威點播後台->設定->帳號管理 |
| timestamp | true | Long | 目前時間的毫秒級時間戳記,3分鐘內有效 |
| sign | true | String | 簽名,32位元大寫MD5值【詳見MD5簽名產生規則】 |
| cataId | false | String | 影片分類id,該參數取自【取得分類及子分類】 |
| title | false | String | 依標題搜尋 |
| uploader | false | String | 上傳者,例如:主帳號 |
| status | false | String | 影片狀態,可參考【status欄位說明】 |
| containSubCate | false | String | 是否包含子分類 Y:包含 N:不包含 |
| startTime | false | Long | 依建立時間範圍查詢,起始時間戳記,13位元時間戳記 例如:1617866563834 |
| endTime | false | Long | 結束時間戳記,13位元時間戳記,例如:1617866563834 |
| page | false | Integer | 頁碼,預設為1 |
| pageSize | false | Integer | 頁面大小,預設為10 |
| sort | false | String | 排序方式 creationTimeDesc:降冪 creationTimeAsc:升冪 |
status欄位說明
| 影片狀態碼 | 說明 |
|---|---|
| 60/61 | 已發佈 |
| 10 | 等待編碼 |
| 20 | 正在編碼 |
| 50 | 等待審核 |
| 51 | 審核不通過 |
| -1 | 已刪除 |
範例
http://api.polyv.net/v3/video/list-video?sign=13C80EAA5C93D1A62D197AFAF535D63F&pageSize=10&sort=creationTimeDesc&title=hello&uploader=%E4%B8%BB%E8%B4%A6%E5%8F%B7&appId=a0Wmol5EwX&containSubCate=Y&cataId=1617173363572&startTime=&endTime=&page=1×tamp=1617937287873&status=60
回應參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| requestId | String | 本次請求的業務流水號,便於客戶端/伺服器端排查問題 |
| error | Object | 回應失敗時返回錯誤的詳細資訊【詳見error欄位說明】,回應成功時返回空 |
| data | Object | 回應成功時返回搜尋結果【詳見data欄位說明】,回應失敗時返回空 |
error欄位說明
| 欄位 | 類型 | 說明 |
|---|---|---|
| code | Integer | 錯誤碼 |
| desc | String | 錯誤描述【詳見全域錯誤說明】 |
data欄位說明
| 欄位 | 類型 | 說明 |
|---|---|---|
| pageNumber | Integer | 目前的頁數 |
| totalPages | Integer | 總頁數 |
| totalItems | Integer | 總筆數 |
| pageSize | Integer | 每頁筆數 |
| contents | Array | 搜尋影片的結果列表【詳見contents欄位說明】 |
contents欄位說明
| 欄位 | 類型 | 說明 |
|---|---|---|
| vid | String | 影片id |
| basicInfo | Object | 影片的詳細資訊 【詳見basicInfo欄位說明】 |
basicInfo欄位說明
| 欄位 | 類型 | 說明 |
|---|---|---|
| title | String | 影片標題 |
| description | String | 影片描述 |
| duration | Long | 原始影片長度,單位:秒 |
| coverURL | String | 首圖位址,大圖 |
| creationTime | String | 建立時間 |
| updateTime | String | 更新時間 |
| size | Long | 原始檔案大小,單位:Bytes |
| status | Integer | 影片狀態碼 |
| cateId | Long | 分類id;其中1為根目錄,即"預設分類" |
| cateName | String | 分類名稱 |
| tags | String | 標籤 |
| uploader | String | 上傳者 |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 VodSignUtil.java 都包含在下載檔案中。
強烈建議您使用點播Java SDK完成API的功能對接,點播Java SDK 對API呼叫邏輯、例外處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。
private static final Logger log = LoggerFactory.getLogger(VodSubAccountTest.class);
/**
* 搜索视频
* @throws Exception
* @throws NoSuchAlgorithmException
*/
@Test
public void testSearchSubVideo() throws Exception, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/v3/video/list-video";
String cataId = "1617173363572";
String title = "hello";
String uploader = "主账号";
String status = "60";
String containSubCate = "Y";
String startTime = "";
String endTime = "";
String page = "1";
String pageSize = "10";
String sort = "creationTimeDesc";
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("cataId", cataId);
requestMap.put("title", title);
requestMap.put("uploader", uploader);
requestMap.put("status", status);
requestMap.put("containSubCate", containSubCate);
requestMap.put("startTime", startTime);
requestMap.put("endTime", endTime);
requestMap.put("page", page);
requestMap.put("pageSize", pageSize);
requestMap.put("sort", sort);
//用md5进行签名,使用子账号的secretKey签名
requestMap.put("sign", VodSignUtil.getSignMd5(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.debug("测试搜索视频,{}", response);
//do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"requestId": "c271194e-c7b7-43e7-a81e-c2edb7d9c2d2",
"code": 200,
"status": "success",
"error": null,
"data": {
"pageNumber": 1,
"totalPages": 1,
"pageSize": 10,
"contents": [
{
"vid": "1b448be323a6a1a6c0c237856f555e88_1",
"basicInfo": {
"title": "hello,word",
"description": "",
"duration": 24,
"coverURL": "https://img.videocc.net/uimage/1/http://img.videocc.net/uimage/1/1b448be323/first_image/7b56e5d7-8aae-4e65-8d43-cd550ccff409_b.png",
"creationTime": "2021-04-01 10:52:07",
"updateTime": "2021-04-02 09:31:00",
"size": 7156046,
"status": 61,
"cateId": 1615536384688,
"cateName": "Junit测试(勿删)_3",
"tags": "test",
"uploader": "主账号"
}
}
],
"totalItems": 1
}
}
異常範例
{
"requestId": "0fefcb4a-1949-4145-a350-3ec941e7daff",
"code": 400,
"status": "error",
"error": {
"code": 1112,
"desc": "param is not number: status"
},
"data": null
}
