分页查询账号直播观看详情数据

接口描述

1、分页获取账号下所有频道观看详情数据
2、接口支持https协议

接口URL

http://api.polyv.net/live/v3/user/statistics/viewlog

在线API调用

请求方式

GET

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看

2、如果查询一段时间的记录,可以传:startDate、endDate (startDate和endDate 必须在同一个月);

3、观看时长数据的生成有3-5分钟的延迟

请求参数描述

参数名必选类型说明

appId

true

String

账号appid【详见获取密钥

timestamp

true

Long

当前13位毫秒级时间戳,3分钟内有效

sign

true

String

签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则

startDate

true

String

查询开始时间,格式:yyyy-MM-dd HH:mm:ss

endDate

true

String

查询结束时间,格式:yyyy-MM-dd HH:mm:ss

channelId

false

String

频道ID,不传查询所有频道

watchType

false

String

观看类型, live:直播, vod:回放

page

false

String

当前页码,默认为1

pageSize

false

String

每页显示的数据条数,默认每页显示1000条数据

示例

http://api.polyv.net/live/v3/user/statistics/viewlog?endDate=2022-03-28+09%3A55%3A56&appId=frlr1zazn3&sign=B808C92E6EC692D0210704C5AF93063D&watchType=live&startDate=2022-03-25+16%3A29%3A55&channelId=2909053&timestamp=1649210306097

响应参数描述

参数名类型说明

code

Integer

响应状态码,200为成功返回,非200为失败【详见全局错误说明

status

String

响应状态文本信息

message

String

响应描述信息,当code为400或者500的时候,辅助描述错误原因

data

Object

请求成功时为直播观看日志有关信息 【详见Data参数描述】,请求失败时为空

Data参数描述

参数名类型说明

pageSize

Integer

每页显示的数据条数,默认每页显示1000条数据

pageNumber

Integer

当前的页数

totalItems

Integer

总的条数

contents

Array

查询的结果列表【详见Contents参数描述

startRow

Integer

当前页第一条记录在总结果集中的位置

firstPage

Boolean

是否为第一页,值为:true/false

lastPage

Boolean

是否为最后一页,值为:true/false

prePageNumber

Integer

上一页编号

nextPageNumber

Integer

下一页编号

limit

Integer

每页数量大小

totalPages

Integer

总页数

endRow

Integer

当前页最后一条记录在总结果集中的位置

offset

Integer

分页起始记录

Contents参数描述

参数名类型说明

playId

String

表示此次播放动作的ID

userId

String

直播账号Id

channelId

String

频道号

playDuration

Integer

播放时长,单位:秒

stayDuration

Integer

停留时长,单位:秒

flowSize

Long

流量大小,单位:bytes

sessionId

String

直播场次ID

param1

String

使用POLYV观看页的观众ID

param2

String

使用POLYV观看页的观众昵称

param3

String

观看日志类型,默认为live vod:观看回放 live:直播

param4

String

POLYV系统参数

param5

String

POLYV系统参数

ipAddress

String

IP地址

country

String

国家

province

String

省份

city

String

城市

isp

String

ISP运营商

referer

String

播放视频页面地址

userAgent

String

用户设备

operatingSystem

String

操作系统

browser

String

浏览器

isMobile

String

是否为移动端

currentDay

String

查询日期,格式:yyyy-MM-dd

createdTime

Long

日志创建日期,13位毫秒级时间戳

lastModified

Long

日志更新日期,13位毫秒级时间戳

ptype

Integer

0 或者不传:普通直播 1:超低延迟直播 rts (已经没有在使用) 2:PRTC直播(无延迟)

firstActiveTime

Long

进入页面时间,13位毫秒级时间戳,部分情况返回为null,非特殊说明,请使用createdTime替代

lastActiveTime

Long

退出页面时间,13位毫秒级时间戳,部分情况返回为null,非特殊说明,请使用createdTime+stayDuration替代

Java请求示例

@Test
public void getChannelCardPush2() throws IOException, NoSuchAlgorithmException {
    String appId = super.appId;
    String appSecret = super.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/live/v3/user/statistics/viewlog";
    
    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("startDate", "2022-03-25 16:29:55");
    requestMap.put("endDate", "2022-03-28 09:55:56");
    requestMap.put("channelId", "2909053");
    requestMap.put("watchType", "live");
    
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    
    String response = HttpUtil.get(url, requestMap);
    
    log.info("测试查询频道卡片推送列表,返回值:{}", response);
}

响应示例

系统全局错误说明详见全局错误说明

成功示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data":
    {
        "pageSize": 1000,
        "pageNumber": 1,
        "totalItems": 1,
        "contents": [
            {
                "playId": "1648432513206X1501461",
                "userId": "1b448be323",
                "channelId": 2909053,
                "playDuration": 87,
                "stayDuration": 90,
                "flowSize": 0,
                "sessionId": "g83wdgxfh6",
                "param1": "1648432461504",
                "param2": "回放列表观看",
                "param3": "vod",
                "param4": "",
                "param5": "",
                "ipAddress": "120.228.5.164",
                "country": "中国",
                "province": "湖南",
                "city": "长沙",
                "isp": "移动",
                "referer": "https://live.polyv.cn/watch/2909053",
                "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36",
                "operatingSystem": "Windows",
                "browser": "Chrome 9",
                "isMobile": "N",
                "currentDay": "2022-03-28",
                "createdTime": 1648432556000,
                "lastModified": 1648443664000,
                "ptype": 0,
                "firstActiveTime": 1648432516000,
                "lastActiveTime": 1648432606000
            }],
        "limit": 1,
        "offset": 0,
        "totalPages": 1,
        "endRow": 1,
        "firstPage": true,
        "lastPage": true,
        "prePageNumber": 1,
        "nextPageNumber": 1,
        "startRow": 1
    }
}

异常示例

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

Last updated