批量获取点播视频完成度
接口URL
https://api.polyv.net/v2/video/engagement/{userId}/getList接口说明
支持批量分页获取视频观看完成度
支持https支持格式
JSON请求方式
POST,GET请求数限制
TRUE请求参数
参数名
必选
类型及范围
说明
userid
true
string
路径参数,用户userId
ptime
true
float
13位的当前时间毫秒级时间戳
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);
    }
}Last updated
Was this helpful?
