接收历史消息

更新时间不可用

接口描述

History 接口获取指定频道中存储的历史消息。

接口方法

Shell
GET https://api.sd-rtn.com/rtm/v2/history/{:appId}/userId/{:userId}/channelType/{:channelType}/channel/{:channelName}?start={:startTime}&end={:endTime}&messageCount={:messageCount}
参数类型必填描述
appIdstring是你的声网项目的 App ID。
userIdstring是

此次操作的 User ID。

以下为支持的字符集范围(共 89 个字符):

  • 26 个小写英文字母 a-Z

  • 26 个大写英文字母 A-Z

  • 10 个数字 0-9

  • 空格

  • !, #, $, %, &, (, ), +, -, :, ;, <, =, ., >, ?, @, [, ], ^, _, {, }, |, ~, ,

    注意

    字符长度限制为:0 < 字符长度 ≤ 64。

channelTypestring是

频道类型:

  • message:消息频道
  • user:用户频道
channelNamestring是

频道名。

以下为支持的字符集范围(共 89 个字符):

  • 26 个小写英文字母 a-Z

  • 26 个大写英文字母 A-Z

  • 10 个数字 0-9

  • 空格

  • !, #, $, %, &, (, ), +, -, :, ;, <, =, ., >, ?, @, [, ], ^, _, {, }, |, ~, ,

    注意

    字符长度限制为:0 < 字符长度 ≤ 64。

startlong否历史消息开始的时间戳,可以为 0,不填默认为 0。
endlong否历史消息结束的时间戳,可以为 0,不填默认为 0。
messageCountint否单次查询的最大消息数。如果单次查询的时间范围内消息数大于该值,则需多次调用该方法进行查询。取值范围为 (0,100],不填默认为 100。
表格内容超出当前宽度,可横向滚动查看更多列。

基本用法

Shell
curl -L 'https://api.sd-rtn.com/rtm/v2/history/{appId}/userId/Tony/channelType/message/channel/chatroom?start=17809876&end=1781000&messageCount=100' \
-H 'Accept: application/json'\
-H 'Authorization: agora token=007xxxxx'\

返回值

执行后将返回以下数据:

JSON
{
  "errorCode": 200,
  "error": false,
  "requestId": 1121_1234231,
  "operation": "getMessage",
  "reason": "xxxxxxxxxxxx",
  "timestamp":1234567,
  "data":{
    "messageList": HistoryMessage[];
    "count": number, 
    "newStart": number
  }
}

其中,HistoryMessage 结构如下:

JSON
{
  "messageType": "STRING",
  "message": "xxxxxxxxxx",
  "customType": "xxx",
  "publisher": "xxxxx",
  "timestamp":1234567
}
参数类型描述
errorCodenumber错误码。200 表示请求成功。如果不为 200,你可以参考错误码了解出错的原因并进行排障。
errorboolean

当前请求是否出错。

  • false 代表请求成功。
  • true 代表请求失败。
requestIdstring当前请求的请求 ID。
operationstring当前请求的具体操作。
reasonstring出错原因。
timestampnumber发送请求的时间戳。
dataobject

响应的具体 Payload 信息,包含如下字段:

  • messageList:获取的历史消息列表,为一个 Array List,包含如下参数:
    • messageType:消息数据类型:
      • 如果 messageType 为 "STRING",直接取 message 字段内容即可。
      • 如果 messageType 为 "BINARY",消息内容为 message 字段 base64 编码后的结果。
    • message:具体的消息内容。
    • customType:自定义类型。
    • publisher:发布消息的用户。
    • timestamp:消息发布时的时间戳。
  • count:共获得的历史消息数量。
  • newStart:新的历史消息开始的时间戳。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?