1.1 获取点播信息接口App.md 5.04 KB

/* Title: 1.1 获取点播信息接口 */

接口描述

接口地址

http://api.cnlive.com/open/api2/vod_epg/getVodInfo4App

接口协议

HTTP GET

接口请求参数

参数名 参数类型 必选 参数说明
appId string true 应用ID
vId string true 点播节目标识
timestamp int true 精确到秒,当前Unix时间戳,请保证请求服务器时间正确
sign String true 签名规则见 签名详情

返回值

参数名 参数类型 必选 参数说明
errorCode int true 错误类型号
errorMessage string true 错误类型
title string true 节目标题
subTitle string false 节目副标题
description string false 节目描述
createTime string true 创建时间,格式:yyyyMMddHHmmss
publishTime string true 发布时间,格式:yyyyMMddHHmmss
status string true 节目状态,0:待发布,1:已发布,2:下线
vId string true 节目的唯一标识
packagePomID string false 节目的产品包ID
onePomID string false 节目的产品ID
freePlayLength string false 免费播放时长,单位 s,默认 60
mp4_url_rate1 string false 流畅版的mp4播放地址
mp4_url_rate2 string true 标清版的mp4播放地址,必须有
mp4_url_rate3 string false 高清版的mp4播放地址
mp4_url_rate4 string false 超清版的mp4播放地址
hls_url_rate1 string false 流畅版的m3u8播放地址
hls_url_rate2 string true 标清版的m3u8播放地址,必须有
hls_url_rate3 string false 高清版的m3u8播放地址
hls_url_rate4 string false 超清版的m3u8播放地址

返回JSON格式的节目元数据信息,json示例如下:

{
    "errorMessage":"请求成功",
    "data":{
        "createTime":"20160808125905",
        "publishTime":"20160808131657",
        "status":"1",
        "vId":"174e6c5f3d9e4ddeb739feed1906fa11",
        "hls_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1&isHLS=1",
        "hls_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3&isHLS=1",
        "hls_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2&isHLS=1",
        "vipFlag":"0",
        "packagePomID":"3_ent/xingwenrebao/yuleqianxian/",
        "hls_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4&isHLS=1",
        "subTitle":"BTOB对粉丝甜喊:我想你们了",
        "mp4_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1&isHLS=0",
        "title":"BTOB甜喊:我想你们了",
        "mp4_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3&isHLS=0",
        "mp4_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2&isHLS=0",
        "description":"@TV娱乐前线:韩国男团BTOB近日在台北国际会议中心举行演唱会。",
        "freePlayLength":"60",
        "mp4_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4&isHLS=0",
        "onePomID":"3_174e6c5f3d9e4ddeb739feed1906fa11"
    },
    "errorCode":"0"
}

java 示例

public Object getVodUrl() {
            String result = "";
            Map params = new HashMap<>();
            params.put("appId", "iqj730vn11");
            params.put("vId", "174e6c5f3d9e4ddeb739feed1906fa11");
            params.put("timestamp", System.currentTimeMillis()/1000+"");
            String url = OpenUtil.buildURL("http://api.cnlive.com/open/api/dianbo/getVodInfo4App", params, "appId对应key值");
            HttpURLConnection connection;
            try {
                URL requestUrl = new URL(url);
                connection = (HttpURLConnection)requestUrl.openConnection();
                connection.setRequestMethod("GET");
                connection.setDoInput(true);
                connection.setDoOutput(true);
                connection.connect();//连接

                //获得返回值
                if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){
                    InputStream in = connection.getInputStream();
                    String currentLine = "";
                    if(in != null){
                        BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8"));
                        while((currentLine = br.readLine()) != null){
                            result += currentLine;
                        }
                        br.close();
                    }
                }
            }catch (Exception e) {
                e.printStackTrace();
            }

            if(BaseUtil.notBlank(result)) {
                JSONObject resultJson = JSONObject.parseObject(result);
                return resultJson
            }

            return "";
        }