保利威文档中心

幫助中心

取得多個頻道下的歷史並發記錄(聚合資料)

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

介面URL

https://api.polyv.net/live/v3/channel/statistics/concurrence-mc

介面說明

1、接口用于获取多个频道下的历史并发记录(聚合数据,按照时间升序排序)
2、日期参数跨天则天为粒度,一天之内则以分钟为粒度返回
3、接口支持https

支援格式

JSON

請求方式

GET

請求數限制

TRUE

請求參數

參數名 必選 類型 說明
appId string 從API設定中取得,在直播系統登記的appId
timestamp long 當前13位毫秒級時間戳,3分鐘內有效
sign String 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
channelIds string 頻道號,多個頻道以,隔開
startDate string 開始日期格式,yyyy-MM-dd,時間跨度不得超過31天
endDate string 結束日期格式,yyyy-MM-dd,時間跨度不得超過31天

回應成功JSON範例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        {
            "day": "2020-08-16",
            "minute": "00:00",
            "viewers": 0
        },
        {
            "day": "2020-08-17",
            "minute": "00:00",
            "viewers": 2
        },
        {
            "day": "2020-08-18",
            "minute": "00:00",
            "viewers": 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": 403, 
  "status": "error", 
  "message": "illegal channel id: 1234567", 
  "data": ""
}

頻道號格式錯誤

{
  "code": 400, 
  "status": "error", 
  "message": "param is not digit: dsadasd", 
  "data": ""
}

日期範圍錯誤

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

欄位說明

參數名 說明
code 回應代碼,成功為200,失敗為400,簽名錯誤為401,異常錯誤500
status 成功為success,失敗為error
message 錯誤時為錯誤提示訊息
data 取得多個頻道下的歷史並發記錄(聚合資料)

Java請求範例

public static void main(String[] args) {
        String url = "http://api.polyv.net/live/v3/channel/statistics/concurrence-mc;
        // 用户对应的appId和加密串
        String appId = "xxxxxxxxx";
        String appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
        Map<String, String> params = new HashMap<>();
        int channelId = 1234567;
        String startDate = "2020-08-01";
        String endDate = "2020-08-18";
        params.put("channelId", String.valueOf(channelId));
        params.put("startDate", startDate);
        params.put("endDate", endDate);
        PolyvTool.setLiveSign(params, appId, appSecret);
        // 调用Polyv的httpClient工具类发送请求
        String content = HttpClientUtil.getInstance()
                .sendHttpGet(url + "?" + PolyvTool.mapJoinNotEncode(params));
        System.out.println(content);
    }
联系客服,在线咨询