保利威文档中心

幫助中心

基於課節維度查詢使用者資訊

更新時間:2024-10-21 09:33:43

介面描述

1、基于课节维度查询用户信息
2、接口支持https协议
3、这里的数据只是纯业务统计数据,与计费无关

介面URL

http://api.polyv.net/hi-class-api/open/statistics/v1/list

請求方式

GET

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數描述

參數名 必選 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 當前13位毫秒級時間戳,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
lessonId true Long 課節號
pageSize false Integer 分頁大小,預設10
pageNumber false Integer 當前頁數,第幾頁,預設1

範例

http://api.polyv.net/hi-class-api/open/statistics/v1/list?appId=z2gw5icesv&sign=935F4C0CF3EB84A3EFB2BC691DB714A5&timestamp=1631780657591&lessonId=7594&pageNumber=1&pageSize=10

回應參數描述

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
error Error 錯誤物件【詳見全域錯誤說明
data Object 請求成功時的有關資訊【詳見Data參數描述】,請求失敗時為空
Data參數描述
參數名 類型 說明
pageSize Integer 每頁資料大小,預設10
pageNumber Integer 當前的頁數
totalPages Integer 總頁數
totalItems Integer 總筆數
contents Array 查詢的結果列表【詳見Contents參數描述
Contents參數描述
參數名 類型 說明
viewerId String 使用者ID
name String 使用者暱稱
startTime Date 進入時間,格式:年月日時分秒 yyyy-MM-dd HH:mm:ss
endTime Date 離開房間,格式:年月日時分秒 yyyy-MM-dd HH:mm:ss
joinDuration String 連麥時長,格式:時分秒 HH:mm:ss
ip String ip
userAgent String 使用者裝置
operatingSystem String 作業系統,是Windows 還是Mac;安卓,iOS;其他
browser String 瀏覽器,例如Chrome 93
country String 國家
province String 省份
city String 城市
isp String 電信業者

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。

/**
 * 基于课节维度查询用户信息
 * @throws IOException
 */
@Test
public void testGetDocList() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId = this.appId;
    String appSecret = this.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/hi-class-api/open/statistics/v1/list";
    String lessonId = "7190";
    String pageNumber = "1";
    String pageSize = "5";

    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("lessonId", lessonId);
    requestMap.put("pageNumber", pageNumber);
    requestMap.put("pageSize", pageSize);
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    String response = HttpUtil.get(url, requestMap);
    log.info("测试基于课节维度查询用户信息:{}", response);
}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例

{
    "code": 200,
    "status": "success",
    "data": {
        "pageNumber": 1,
        "pageSize": 2,
        "totalPages": 3,
        "totalItems": 5,
        "contents": [
            {
                "viewerId": "viewer_a",
                "nickname": "aaa",
                "startTime": "2021-10-01 11:11:01",
                "endTime": "2021-10-01 11:11:12",
                "joinDuration": "01:01:14",
                "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57",
                "operatingSystem": "windows",
                "browser": "chrome 94",
                "ip": "127.0.0.1",
                "isp": "电信",
                "country": "中国",
                "province": "广东",
                "city": "广州"
            },
            {
                "viewerId": "viewer_b",
                "nickname": "aaa_bbbb",
                "startTime": "2021-10-01 11:10:01",
                "endTime": "2021-10-01 11:10:12",
                "joinDuration": "01:01:14",
                "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57",
                "operatingSystem": "windows",
                "browser": "chrome 94",
                "ip": "127.0.0.1",
                "isp": "移动",
                "country": "中国",
                "province": "广东",
                "city": "广州"
            }
        ]
    },
    "success": true
}

異常範例

{
  "code": 400,
  "status": "error",
  "data": "",
  "error": {
    "code": xx,
    "desc": "错误描述"
  }
}
联系客服,在线咨询