分頁取得問答的詳細列表
更新時間:2022-09-02 18:08:07
介面URL
https://api.polyv.net/live/v3/channel/consultation/detail-list
介面說明
1、分页获取问答的详细列表
2、支持分页
3、接口支持https
支援格式
JSON
請求方式
GET
請求數限制
TRUE
請求參數
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | 是 | string | 從API設定中取得,在直播系統登記的appId |
| timestamp | 是 | long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | 是 | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| channelId | 是 | int | 頻道號 |
| sessionId | 否 | string | 場次ID |
| startTime | 否 | long | 查詢的直播時間範圍的開始時間 |
| endTime | 否 | long | 查詢的直播時間範圍的結束時間 |
| page | 否 | int | 當前頁,預設1 |
| size | 否 | int | 每一頁資料大小,預設10 |
回應成功JSON範例:
{
"code":200,
"status":"success",
"message":"",
"data":{
"pageSize":5,
"pageNumber":1,
"totalItems":23,
"contents":[
{
"askTime":"2021-03-15 14:36",
"nick":"啊啊啊啊",
"viewerId":"1615773668801",
"sessionId":"fwqzqpj6sf",
"content":"开导开导看",
"status":"未处理",
"reply":null
},
{
"askTime":"2021-03-15 14:36",
"nick":"啊啊啊啊",
"viewerId":"1615773668801",
"sessionId":"fwqzqpj6sf",
"content":"大大方方",
"status":"未处理",
"reply":null
},
{
"askTime":"2021-03-15 14:36",
"nick":"啊啊啊啊",
"viewerId":"1615773668801",
"sessionId":"fwqzqpj6sf",
"content":"少时诵诗书",
"status":"未处理",
"reply":null
},
{
"askTime":"2021-03-15 14:36",
"nick":"啊啊啊啊",
"viewerId":"1615773668801",
"sessionId":"fwqzqpj6sf",
"content":"1111111",
"status":"未处理",
"reply":null
},
{
"askTime":"2021-03-15 14:36",
"nick":"啊啊啊啊",
"viewerId":"1615773668801",
"sessionId":"fwqzqpj6sf",
"content":"2222222",
"status":"未处理",
"reply":null
}
],
"startRow":1,
"firstPage":true,
"lastPage":false,
"prePageNumber":1,
"limit":5,
"totalPages":5,
"nextPageNumber":2,
"endRow":5,
"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": 403,
"status": "error",
"message": "illegal channel id: 1779742",
"data": ""
}
非法參數
{
"code": 400,
"status": "error",
"message": "param is not digit: size",
"data": ""
}
欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | int | 回應代碼,成功為200,失敗為400,簽名錯誤為401,異常錯誤500 |
| status | string | 成功為success,失敗為error |
| message | string | 錯誤時為錯誤提示訊息 |
| data | object | 回應結果集 |
| pageNumber | int | 當前的頁數 |
| totalItems | int | 總的條數 |
| contents | array | 查詢的結果列表 |
| askTime | string | 提問的時間 |
| nick | string | 提問用戶暱稱 |
| viewerId | sting | 提問用戶ID |
| sessionId | string | 所屬的直播場次 |
| content | string | 提問的內容 |
| status | string | 問答的狀態,例如:未處理 已回覆等 |
| reply | string | 問題的回覆內容 |
| firstPage | boolean | 是否為第一頁,值為:true/false |
| lastPage | boolean | 是否為最後一頁,值為:true/false |
| nextPageNumber | int | 下一頁編號 |
| prePageNumber | int | 上一頁編號 |
| totalPages | int | 總頁數 |
| startRow | int | 當前頁第一個數量的位置 |
| endRow | int | 當前頁最後一個數量的位置 |
| limit | int | 每頁數量大小 |
Java請求範例
public static void main(String[] args) {
String url = "https://api.polyv.net/live/v3/channel/consultation/detail-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);
}
