查詢所有聊天記錄
更新時間:2022-09-02 18:08:07
介面描述
1、查询账号下频道聊天记录
2、接口支持https协议
介面URL
http://api.polyv.net/live/v3/user/chat/get-speak-list
請求方式
GET
介面限制
1、介面同時支援HTTP、HTTPS,建議使用HTTPS確保介面安全,介面呼叫有頻率限制,詳細請查看
2、第一次查詢不傳cursor參數,後續查詢使用前一次返回的cursor,直到返回list沒有資料
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 目前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| startTime | false | Long | 查詢的開始時間 13位毫秒級時間戳 |
| endTime | false | Long | 查詢的結束時間 13位毫秒級時間戳 |
| cursor | false | String | 第一次查詢不傳,後續查詢使用前一次返回的cursor即可,直到返回list沒有資料 |
| size | false | Integer | 每頁大小,預設為10,最大值為1000 |
範例
https://api.polyv.net/live/v3/user/chat/get-speak-list?cursor=6_2&size=3&appId=frlr1zazn3&sign=C63541E7ACE179314B087FB218925FBC&userId=1b448be323×tamp=1634284501527
回應參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| code | Integer | 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明】 |
| status | String | 回應狀態文字資訊 |
| message | String | 回應描述資訊,當code為400或500時,輔助描述錯誤原因 |
| data | Object | 回應的資料【詳見data欄位說明】 |
data欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| cursor | String | 游標,請求帶此參數取得下一頁資料 |
| size | Integer | 請求時所傳size,和實際返回list長度不一致 |
| list | Array | 聊天內容【詳見list欄位說明】 |
list欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| id | String | 訊息id |
| content | Boolean | 訊息內容 |
| user | String | 使用者資訊json資料【詳見使用者資訊json欄位說明】 |
| image | String | 發言圖片 |
| time | Long | 發言時間戳 |
| clientIP | String | 客戶ip |
| msgType | String | 訊息類型 |
| roomId | String | 房間號碼 |
| sessionId | String | 場次id |
| accountId | String | 帳號id |
| quote | String | 回覆id |
使用者資訊json欄位說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| actor | String | 角色 |
| banned | Boolean | 是否禁言 |
| channelId | String | 頻道號碼 |
| clientIp | String | 使用者ip |
| nick | String | 觀眾暱稱 |
| pic | String | 觀眾頭像 |
| roomId | String | 房間號碼 |
| sessionId | String | 場次號碼 |
| uid | String | socketId |
| userId | String | 使用者唯一標示 |
| userType | String | 使用者類型 slice:雲課堂學員 teacher:講師 guest:嘉賓 manager:管理員 assistant:助教 viewer:特邀觀眾 monitor:場監 attendee:研討會參與者 student:一般直播觀眾 |
Java請求範例
快速接入基礎程式碼請下載相關依賴原始碼, 點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。
/**
* 测试查询频道连麦详情数据
* @throws IOException
*/
@Test
public void test() 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/v3/user/chat/get-speak-list";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("userId",userId);
requestMap.put("cursor","6_2");
requestMap.put("size","3");
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("测试查询所有聊天记录,当前页查询成功,返回值:{}",response);
//do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"message": "",
"data": {
"size": 3,
"cursor": "7_3",
"list": [
{
"id": "f14e71f0-0fb5-11ec-912a-f7bfa2a37ef8",
"roomId": "2523307",
"content": "1",
"user": "{\"banned\":false,\"channelId\":\"2523307\",\"clientIp\":\"175.10.232.110\",\"customize\":0,\"nick\":\"a\",\"pic\":\"https://liveimages.videocc.net/defaultImg/avatar/viewer.png\",\"roomId\":\"2523307\",\"uid\":\"nhycNjFyZxSXuVz0AKNW\",\"userId\":\"1631003162428\",\"userType\":\"slice\"}",
"image": "",
"time": 1631003465350,
"clientIP": "",
"msgType": null,
"userType": "slice",
"sessionId": null,
"quote": null,
"accountId": "1b448be323"
},
{
"id": "f202a6c0-0fb5-11ec-912a-f7bfa2a37ef8",
"roomId": "2523307",
"content": "2",
"user": "{\"banned\":false,\"channelId\":\"2523307\",\"clientIp\":\"175.10.232.110\",\"customize\":0,\"nick\":\"a\",\"pic\":\"https://liveimages.videocc.net/defaultImg/avatar/viewer.png\",\"roomId\":\"2523307\",\"uid\":\"nhycNjFyZxSXuVz0AKNW\",\"userId\":\"1631003162428\",\"userType\":\"slice\"}",
"image": "",
"time": 1631003466531,
"clientIP": "",
"msgType": null,
"userType": "slice",
"sessionId": null,
"quote": null,
"accountId": "1b448be323"
},
{
"id": "f39331d0-0fb5-11ec-912a-f7bfa2a37ef8",
"roomId": "2523307",
"content": "35",
"user": "{\"banned\":false,\"channelId\":\"2523307\",\"clientIp\":\"175.10.232.110\",\"customize\":0,\"nick\":\"a\",\"pic\":\"https://liveimages.videocc.net/defaultImg/avatar/viewer.png\",\"roomId\":\"2523307\",\"uid\":\"nhycNjFyZxSXuVz0AKNW\",\"userId\":\"1631003162428\",\"userType\":\"slice\"}",
"image": "",
"time": 1631003469156,
"clientIP": "",
"msgType": null,
"userType": "slice",
"sessionId": null,
"quote": null,
"accountId": "1b448be323"
}
]
}
}
異常範例
{
"code": 403,
"status": "error",
"message": "invalid signature.",
"data": ""
}
