通知
本站点除 Legacy 产品与方案外,已迁移至 声网新文档中心 ,当前页面不再维护
文档中心
全部产品
Console 官网 社区 技术支持

为什么我查询不到历史消息?

分类: 集成类    平台: RESTful   最后更新时间: 2021/01/19 18:12:47

问题描述

虽然某时间段存在消息发送,但是 RTM 历史消息 RESTful API 中的 获取历史消息 API 查询不到该时间段的历史消息。

解决方案

请按照以下步骤进行排查:

  1. 确认创建历史消息查询资源 APIstart_timeend_time 参数使用的起始时间和结束时间的时区是否和要查询的时间段一致。如果时区不一致,可能无法返回正确结果。
  2. 确认在调用 sendMessageToPeersendMessage 发送点对点或频道消息时是否将 sendMessageOptions 参数中的 enableHistoricalMessaging 成员变量设为 true。如果设为 false,则发送的消息无法保存为历史消息。

核心 API 对照表

上文使用的 API 名均为 C++ API。你可以参考下表获取其他平台的 API 信息:

平台 发送点对点和频道消息
Windows/Linux C++ sendMessageToPeer, sendMessage
Android Java sendMessageToPeer, sendMessage
Linux Java sendMessageToPeer, sendMessage
iOS/macOS Objective-C sendMessage, sendMessage
Web sendMessageToPeer, sendMessage

相关链接

事件与历史消息 RESTful API