保利威文档中心

幫助中心

分頁查詢使用者觀看日誌

更新時間:2022-09-02 18:08:07

介面URL

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

介面說明

1、作用:分頁取得使用者的觀看日誌
2、介面支援https協定

回傳結果支援格式

JSON

請求方式

GET

請求數限制

TRUE

請求參數

參數名 必填 類型 說明
appId true string 從API設定中取得,在直播系統登記的appId
timestamp true string 目前13位毫秒級時間戳,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
page true string 頁數
pageSize false string 每頁顯示的資料筆數,預設每頁顯示1000筆資料
startDate true 請查看下方注意事項 string 查詢開始時間,格式:yyyy-MM-dd
endDate true 請查看下方注意事項 string 查詢結束時間,格式:yyyy-MM-dd
channelId false int 頻道ID

注意

  1. 如果查詢一段時間的記錄,可以傳:startDate、endDate (startDate和endDate 必須在同一個月);

回應成功JSON範例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data": {
        "pageNumber": 1, 
        "totalItems": 3, 
        "contents": [
{
"playId": "1520501687122X1438160",
"userId": "1c6dc3c666",
"channelId": 151462,
"playDuration": 341,
"stayDuration": 361,
"flowSize": 10028116,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.41.1",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520501705000,
"lastModified": 1520504494000
}, 
{
"playId": "1520501157256X1429802",
"userId": "1c6dc3c666",
"channelId": 151462,
"playDuration": 29,
"stayDuration": 528,
"flowSize": 1068201,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.41.1",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520501664000,
"lastModified": 1520504494000
}, 
            {
"playId": "1520500551108X1714565",
"userId": "1c6dc3c666",
"channelId": 151462,
"playDuration": 18,
"stayDuration": 20,
"flowSize": 3048444,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.40.205",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520500572000,
"lastModified": 1520503294000
}
        ], 
        "endRow": 3, 
        "startRow": 1, 
        "firstPage": true, 
        "lastPage": true, 
        "nextPageNumber": 1, 
        "prePageNumber": 1, 
        "totalPages": 1, 
        "limit": 3, 
        "offset": 0
    }
}

回應失敗JSON範例:

未輸入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正確

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

時間戳錯誤

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

簽名錯誤

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

查詢的開始和結束時間有為空的情況

{
    "code": 400,
    "status": "error",
    "message": "startDate and endDate can not be empty.",
    "data": ""
}

查詢的開始時間大於結束時間

{
    "code": 400,
    "status": "error",
    "message": "startDate can not great endDate.",
    "data": ""
}

查詢的時間跨月了

{
    "code": 400,
    "status": "error",
    "message": "unable cross month query",
    "data": ""
}

非法的頻道ID

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

欄位說明

參數名 說明
code 回應的狀態碼,例如:200
status 回應狀態
message 異常錯誤資訊
data 回應結果集
pageNumber 目前的頁數
totalItems 總筆數
contents 查詢的結果列表
playId 表示此次播放動作的ID
userId 使用者ID
channelId 頻道號
playDuration 播放時長
stayDuration 停留時長
flowSize 流量大小
sessionId 直播場次ID
param1 使用POLYV觀看頁的觀眾ID
param2 使用POLYV觀看頁的觀眾暱稱
param3 觀看類型:取值 live(直播)、vod(回放)
param4/5 POLYV系統參數
ipAddress IP位址
country 國家
province 省份
city 城市
isp ISP運營商
referer 播放影片頁面位址
userAgent 使用者裝置
operatingSystem 作業系統
browser 瀏覽器
isMobile 是否為行動端
currentDay 日誌查詢日期 (格式為:yyyy-MM-dd)
createdTime 日誌建立日期 (13位時間戳)
lastModified 日誌更新日期 (13位時間戳)
firstPage 是否為第一頁,值為:true/false
lastPage 是否為最後一頁,值為:true/false
nextPageNumber 下一頁編號
prePageNumber 上一頁編號
totalPages 總頁數
startRow 目前頁第一個影片在回放影片中的位置
endRow 目前頁最後一個影片在回放影片中的位置
limit 目前頁影片個數

php請求範例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$startDate = "2020-03-12";  
$endDate = "2020-03-30";  
$page = "1"; //页数
$pageSize="10";//每页显示的数据

$params = array(
    'appId'=>$appId,
    'startDate'=>$startDate,
    'endDate'=>$endDate,
    'page'=>$page,
    'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.polyv.net/live/v3/user/statistics/viewlog?appId=$appId&startDate=startDate&endDate=endDate&page=$page&pageSize=$pageSize&timestamp=$timestamp&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);
  
?>
联系客服,在线咨询