Query Real-Time Concurrent Data for Multiple Channels
API Description
1、获取多个频道实时在线人数
2、接口支持https协议
API URL
http://api.polyv.net/live/v2/statistics/get-realtime-viewers
Request Method
GET
API Constraints
The API supports both HTTP and HTTPS. HTTPS is recommended for security. API calls have frequency limits. See details
Each channel returns real-time online viewer data for a recent period (e.g., one data point every 10 seconds, 15 data points; this period may be adjusted, so do not hardcode the number of entries in API calls). The result list for each channel is sorted in descending order by time.
Request Parameter Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| appId | true | String | Account appId [See Get Secret Key] |
| timestamp | true | Long | Current 13-digit millisecond timestamp, valid for 3 minutes |
| sign | true | String | Signature, a 32-character uppercase MD5 value. The appSecret used to generate the signature is critical for communication data security. It must not be stored or used directly on the client. All APIs must be called through the customer's own server to relay requests to the POLYV server for response data. [See Signature Generation Rules] |
| channelIds | true | String | Multiple channel IDs, separated by commas |
Example
https://api.polyv.net/live/v2/statistics/get-realtime-viewers?appId=frlr1zazn3&sign=D0B0EF94D4790B08EB6AE800A22497B8&channelIds=1965681%2C2149813&userId=1b448be323×tamp=1621842353153
Response Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Response status code, 200 for success, non-200 for failure [See Global Error Description] |
| status | String | Response status text |
| message | String | Response description, provides error details when code is 400 or 500 |
| data | Array | Real-time online viewer data for channels on success [See Data Parameter Description], empty on failure |
Data Parameter Description
| Parameter | Type | Description |
|---|---|---|
| channelId | String | Channel ID |
| count | Integer | Numeric format, online viewer count |
| time | String | Statistics time, format: HH:mm:ss |
Java Request Example
For quick integration of basic code, please download the relevant dependency source code. Click here to download the source code. After downloading, add it to your own source project. HttpUtil.java and LiveSignUtil.java from the test cases are included in the download file.
It is strongly recommended to use the Live Java SDK for API integration. The Live Java SDK provides unified encapsulation and optimization for API call logic, exception handling, data signing, and HTTP request thread pooling.
private static final Logger log = LoggerFactory.getLogger(ChannelViewDataTest.class);
/**
* 查询多个频道实时并发数据
* @throws IOException
*/
@Test
public void testGetRealtimeViewers() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String userId = super.userId;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "https://api.polyv.net/live/v2/statistics/get-realtime-viewers";
String channelIds = "1965681,2149813";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelIds",channelIds);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("测试查询多个频道实时并发数据,返回值:{}",response);
//do somethings
}
Response Example
For global system error descriptions, see Global Error Description
Success Example
{
"code":200,
"status":"success",
"message":"",
"data":[
{
"channelId":1965681,
"time":"14:15:49",
"count":0
},
{
"channelId":1965681,
"time":"14:15:39",
"count":0
},
{
"channelId":1965681,
"time":"14:15:29",
"count":0
},
{
"channelId":1965681,
"time":"14:15:19",
"count":0
},
{
"channelId":1965681,
"time":"14:15:09",
"count":0
},
{
"channelId":1965681,
"time":"14:14:59",
"count":0
},
{
"channelId":1965681,
"time":"14:14:49",
"count":0
},
{
"channelId":1965681,
"time":"14:14:39",
"count":0
},
{
"channelId":1965681,
"time":"14:14:29",
"count":0
},
{
"channelId":1965681,
"time":"14:14:19",
"count":0
},
{
"channelId":1965681,
"time":"14:14:09",
"count":0
},
{
"channelId":1965681,
"time":"14:13:59",
"count":0
},
{
"channelId":1965681,
"time":"14:13:49",
"count":0
},
{
"channelId":1965681,
"time":"14:13:39",
"count":0
},
{
"channelId":1965681,
"time":"14:13:29",
"count":0
},
{
"channelId":2149813,
"time":"14:15:49",
"count":0
},
{
"channelId":2149813,
"time":"14:15:39",
"count":0
},
{
"channelId":2149813,
"time":"14:15:29",
"count":0
},
{
"channelId":2149813,
"time":"14:15:19",
"count":0
},
{
"channelId":2149813,
"time":"14:15:09",
"count":0
},
{
"channelId":2149813,
"time":"14:14:59",
"count":0
},
{
"channelId":2149813,
"time":"14:14:49",
"count":0
},
{
"channelId":2149813,
"time":"14:14:39",
"count":0
},
{
"channelId":2149813,
"time":"14:14:29",
"count":0
},
{
"channelId":2149813,
"time":"14:14:19",
"count":0
},
{
"channelId":2149813,
"time":"14:14:09",
"count":0
},
{
"channelId":2149813,
"time":"14:13:59",
"count":0
},
{
"channelId":2149813,
"time":"14:13:49",
"count":0
},
{
"channelId":2149813,
"time":"14:13:39",
"count":0
},
{
"channelId":2149813,
"time":"14:13:29",
"count":0
}
]
}
Error Example
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
