Polyv Help Center

Help Center

Paginated Retrieval of Online User List in Channel Chat Room

Updated: 2022-09-02 18:08:07

Interface URL

http://api.polyv.net/live/v3/channel/chat/get-chat-user-list

Interface Description

1、分页获取频道聊天室房间在线人数
2、支持分页,最大每页1000条数据,最小每页1条数据
3、接口支持https

Supported Format

JSON

Request Method

GET

Request Limit

TRUE

Request Parameters

Parameter Required Type Description
appId Yes string Obtained from API settings, the appId registered in the live streaming system
timestamp Yes long Current 13-digit millisecond timestamp, valid within 3 minutes
sign Yes String Signature, a 32-character uppercase MD5 value. The appSecret key used to generate the signature is critical for communication data security and must never be used directly on the client side. All APIs must be called through the customer's own server to relay requests to the POLYV server and retrieve response data. For details, see Signature Generation Rules
channelId Yes int Channel ID
page No int Page number, default: 1 (first page)
pageSize No int Number of items per page, default: 100 items per page, maximum: 1000 items per page, minimum: 1 item per page
toGetSubRooms No int Whether to retrieve online user count for relay channels, 1: retrieve, 0: do not retrieve

Successful Response JSON Example:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "pageSize": 2,
        "pageNumber": 1,
        "totalItems": 2,
        "contents": [
            {
                "userId": "ovtl9t4a6-vVGrnOVZvA95zuk2x4",
                "pic": "https://s1.videocc.net/default-img/avatar/viewer.png",
                "nick": "123",
                "roomId": "1888749"
            }
        ],
        "startRow": 1,
        "firstPage": true,
        "lastPage": true,
        "prePageNumber": 1,
        "limit": 2,
        "totalPages": 1,
        "endRow": 2,
        "nextPageNumber": 1,
        "offset": 0
    }
}

Failed Response JSON Examples:

No appId entered

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

Incorrect appId

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

Timestamp error

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

Signature error

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

Invalid channel

{
    "code": 403,
    "status": "error",
    "message": "illegal channel id: 1779742",
    "data": ""
}

Invalid parameter

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

Parameter value out of range

{
    "code": 400,
    "status": "error",
    "message": "number range error",
    "data": ""
}

Field Description

Parameter Type Description
code int Response code, 200 for success, 400 for failure, 401 for signature error, 500 for exception error
status string "success" for success, "error" for failure
message string Error message when an error occurs
data object Response result set
pageNumber int Current page number
totalItems int Total number of items
contents array Query result list
contents[0].userId int User ID of the user who joined the room
contents[0].pic string Avatar of the user who joined the room
contents[0].nick int Nickname of the user who joined the room
contents[0].roomId string Room ID
firstPage boolean Whether it is the first page, value: true/false
lastPage boolean Whether it is the last page, value: true/false
nextPageNumber int Next page number
prePageNumber int Previous page number
totalPages int Total number of pages
startRow int Position of the first item on the current page
endRow int Position of the last item on the current page
limit int Number of items per page

Java Request Example

public static void main(String[] args) {
        String url = "https://api.polyv.net/live/v3/channel/chat/get-chat-user-list";
        // 用户对应的appId和加密串
        String appId = "xxxxxxxxx";
        String appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
        Map<String, String> params = new HashMap<>();
        params.put("channelId", "0000000");
        params.put("page", "1");
        params.put("size", "10");
        PolyvTool.setLiveSign(params, appId, appSecret);
        // 调用Polyv的httpClient工具类发送请求
        String content = HttpClientUtil.getInstance()
                .sendHttpGet(url + "?" + PolyvTool.mapJoinNotEncode(params));
        System.out.println(content);
    }
联系客服,在线咨询