批量获取点播视频完成度

接口URL

https://api.polyv.net/v2/video/engagement/{userId}/getList

接口说明

(接口调用有频率限制,详细请查看)

支持批量分页获取视频观看完成度
支持https

返回结果支持格式

JSON

请求方式

POST,GET

请求数限制

TRUE

请求参数

参数名 必选 类型及范围 说明
userid true string 路径参数,用户userId
ptime true float 13位的当前时间毫秒级时间戳
sign true string 签名
field true string 查询条件字段,取值范围:video 根据视频搜索;viewer 根据观众搜索
fieldValue true string 查询条件的值,如果filed = video 填写vid;如果field = viewer 填写 viewerId
filterValue false string 过滤条件,如果field = video,可填写多个以,分隔的viewerId进行过滤;如果field = viewer,可填写多个以,分隔的vid进行过滤
page false int 第几页,默认1
size false int 每一页大小

返回结果

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "pageSize": 20,
        "pageNumber": 1,
        "totalItems": 1,
        "contents": [
            {
                "vid": "ee7fe7fbdadafe381e8e100669144e51_e",
                "viewerId": "1111",
                "watchPercentage": 0.05
            }
        ]
    }
}

请求失败返回json示例

// 签名错误
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}
// 类型错误
{
    "code": 400,
    "status": "error",
    "message": "field type error",
    "data": ""
}
// ...

字段说明

字段 类型 说明
code int 请求返回状态码
status string 请求返回状态
message string 请求返回信息
data.pageSize int 每页大小
data.pageNumber int 第几页
data.totalItems int 总数量
data.content[0].vid string 视频vid
data.content[0].viewerId string 观众viewerId
data.content[0].watchPercentage float 观看完成度

Java示例代码

public class Test {

    public static void main(String[] args) throws Exception {
        String userId = "ee7fe7fbda";
        String secretkey = "2owGBAZsAY";
        String url = "https://api.polyv.net/v2/video/engagement/%s/getList";

        Map<String, String> maps = new HashMap<>();
        maps.put("field", "viewer");
        maps.put("fieldValue", "1111");
        maps.put("filterValue", "");
        maps.put("sign", getSign(maps, secretkey));

        url += "?" + buildUrl(maps);
        url = String.format(url, userId);
        HttpClient client = new HttpClient();
        GetMethod getMethod = new GetMethod(url);
        client.executeMethod(getMethod);
        System.out.println(url);
        System.out.println(getMethod.getResponseBodyAsString());
    }

    public static String buildUrl(Map<String, String> maps) {
        List<String> tmp = new ArrayList<>();
        for (Map.Entry<String, String> key : maps.entrySet()) {
            tmp.add(key.getKey() + "=" + key.getValue());
        }
        return String.join("&", tmp);
    }
}

sign的生成规则

签名规则

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...