# 获取所有播放列表

### 接口描述

```
1、获取播放列表详细信息
2、接口支持https协议
```

### 接口URL

```
http://api.polyv.net/v2/play-list/list
```

[在线API调用](https://git.polyv.net/help-center/document-center/-/blob/master/req.html?api=http:/api.polyv.net/v2/play-list/list/README.md)

### 请求方式

```
GET
```

### 接口约束

1、接口同时支持HTTP 、HTTPS ，建议使用HTTPS 确保接口安全，接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/limit/README.md)

### 请求参数描述

| 参数名         | 必选    | 类型      | 说明                                                                                                                                                                                                        |
| ----------- | ----- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| userid      | true  | String  | 保利威点播账户id，可以参考【[获取密匙](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/getSecretKey/README.md)】获取，获取路径：官网->登录->点播（API接口）                                                           |
| ptime       | true  | Long    | 当前时间的毫秒级时间戳，3分钟内有效                                                                                                                                                                                        |
| sign        | true  | String  | 签名，为40位大写的SHA1值,`生成签名的secretkey密钥作为通信数据安全的关键信息，严禁保存在客户端直接使用，所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据`【详见[签名生成规则](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/buildSign/README.md)】 |
| playListIds | false | String  | 播放列表ID，多个以英文逗号分隔，最大1000个如"1620153765497,1620142496099"                                                                                                                                                    |
| title       | false | String  | 标题，按标题模糊搜索                                                                                                                                                                                                |
| vidStyle    | false | String  | vid样式, 当传值是LONG\_STYLE时, 接口返回的vid携带下横线和userId首字母, 如e4f34f779d7b2933adf2ef91419e15fc\_e, 传SIMPLE或者不传此参数时, vid格式如下: e4f34f779d7b2933adf2ef91419e15fc                                                        |
| page        | false | Integer | 当前页码，默认为1                                                                                                                                                                                                 |
| pageSize    | false | Integer | 每页大小，最大1000条，默认为10                                                                                                                                                                                        |

### 示例

```requestUrl
http://api.polyv.net/v2/play-list/list?playListIds=1620281719396&sign=9F5DC096563BF829DB240ABE3D2A3CB59B8437C4&pageSize=10&page=1&userid=1b448be323&ptime=1620282908818
```

### 响应参数描述

| 参数名     | 类型      | 说明                                                                                                                                                                                             |
| ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code    | Integer | 响应状态码，200为成功返回，非200为失败【详见[全局错误说明](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/errorInfo/README.md)】                                                                |
| status  | String  | 响应状态文本信息                                                                                                                                                                                       |
| message | String  | 响应描述信息，当code为400或者500的时候，辅助描述错误原因                                                                                                                                                              |
| data    | Object  | 成功返回播放列表信息，失败返回空【详见[data字段说明](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/video_management/playlist/get_playlists.md?id=data%E5%AD%97%E6%AE%B5%E8%AF%B4%E6%98%8E)】 |

#### data字段说明

| 字段         | 类型      | 说明                                                                                                                                                                                             |
| ---------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| pageNumber | Integer | 页码                                                                                                                                                                                             |
| totalPages | Integer | 总页数                                                                                                                                                                                            |
| pageSize   | Integer | 每页大小                                                                                                                                                                                           |
| contents   | Array   | 播放列表分页数据【详见[contents字段说明](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/video_management/playlist/get_playlists.md?id=contents%E5%AD%97%E6%AE%B5%E8%AF%B4%E6%98%8E)】 |
| totalItems | Integer | 总数                                                                                                                                                                                             |

#### contents字段说明

| 字段           | 类型      | 说明                                                                                                                                                                                                |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id           | Long    | 播放列表ID                                                                                                                                                                                            |
| description  | String  | 播放列表描述信息                                                                                                                                                                                          |
| tag          | String  | 播放列表标签                                                                                                                                                                                            |
| title        | String  | 播放列表标题                                                                                                                                                                                            |
| creationTime | Long    | 播放列表创建时间，13位毫秒时间戳                                                                                                                                                                                 |
| updateTime   | Long    | 播放列表最近更新时间，13位毫秒时间戳                                                                                                                                                                               |
| videoCount   | Integer | 播放列表的视频数量                                                                                                                                                                                         |
| videoList    | Array   | 播放列表的视频列表【详见[videoList字段说明](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/video_management/playlist/get_playlists.md?id=videoList%E5%AD%97%E6%AE%B5%E8%AF%B4%E6%98%8E)】 |

#### videoList字段说明

| 字段            | 类型     | 说明                |
| ------------- | ------ | ----------------- |
| vid           | String | 视频ID              |
| title         | String | 视频标题              |
| cateId        | Long   | 分类id              |
| cateName      | String | 分类名称              |
| tags          | String | 视频标签              |
| duration      | Float  | 视频时长，单位：秒         |
| coverURL      | String | 视频首图URL           |
| miniCoverURL  | String | 首图地址，小图，同coverURL |
| largeCoverURL | String | 首图地址，大图           |

### Java请求示例

快速接入基础代码请下载相关依赖源码， [点击下载源代码](https://git.polyv.net/help-center/document-center/-/blob/master/third_res/util.zip) ,下载后加入到自己的源码工程中即可。测试用例中的**HttpUtil.java 和 VodSignUtil.java** 都包含在下载文件中。

> 强烈建议您使用[点播Java SDK](https://git.polyv.net/help-center/document-center/-/blob/master/vod/java/README.md)完成API的功能对接，点播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

```java
private static final Logger log = LoggerFactory.getLogger(VodPlaylistTest.class);
/**
 * 获取所有播放列表
 * @throws Exception
 * @throws NoSuchAlgorithmException
 */
@Test
public void testGetPlayLists() throws Exception, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String secretKey = super.secretKey;
    String userId = super.userId;
    String ptime = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/v2/play-list/list";
    String playListIds = "1620281719396";
    String page = "1";
    String pageSize = "10";

    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("userid", userId);
    requestMap.put("ptime", ptime);
    requestMap.put("playListIds", playListIds);
    requestMap.put("page", page);
    requestMap.put("pageSize", pageSize);
    requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));

    String response = HttpUtil.get(url, requestMap);
    log.debug("测试获取所有播放列表,{}", response);
    //do somethings

}
```

### 响应示例

系统全局错误说明详见[全局错误说明](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/errorInfo/README.md)

成功示例

```json
{
  "code": 200,
  "status": "success",
  "message": "success",
  "data": {
    "pageNumber": 1,
    "totalPages": 1,
    "pageSize": 10,
    "contents": [
      {
        "id": 1620281719396,
        "description": "这是描述",
        "tag": "测试创建",
        "title": "测试创建播放列表接口5-6",
        "creationTime": 1620281719396,
        "updateTime": 1620282805755,
        "videoCount": 1,
        "videoList": [
          {
            "vid": "1b448be32368e6eb106c31d490c19144",
            "title": "junit-远程批量上传视频",
            "duration": 85,
            "coverURL": "http://img.videocc.net/uimage/1/1b448be323/first_image/a626c3c8-8e73-4a9e-90f4-ea5217d5678d_s.jpg"
          }
        ]
      }
    ],
    "totalItems": 1
  }
}
```

异常示例

```json
{
  "code": 400,
  "status": "error",
  "message": "the sign is not right",
  "data": ""
}
```
