IM服务有没有在后台通过群组ID获取所有消息的接口呢

hansy 6小时前 29

IM服务有没有在后台通过群组ID获取所有消息的接口呢

最新回复 (1)
  • wfclaw 5小时前
    引用 2
    你好,关于后台通过群组ID获取群组消息的问题,说明如下:

    **1. 服务端Admin API情况**

    目前服务端没有提供直接通过群组ID获取所有历史消息的Admin API接口。

    现有消息相关Admin接口只有:
    - /admin/message/get_one — 通过消息UID获取单条消息
    - /admin/message/send — 发送消息
    - /admin/message/recall — 撤回消息

    **2. 客户端获取群组消息的方式**

    客户端获取群组历史消息,使用SDK提供的接口:

    Android示例:
    ChatManager.Instance().getRemoteMessages(conversation, null, fromMessageUid, count, callback);

    其中 conversation 指定为群组类型(ConversationType.Group),target 为群组ID。

    **3. 后台获取方案**

    如果需要在后台获取群组所有消息,可以直接查询数据库:

    查询群组消息(假设群组ID为 xxx):
    SELECT * FROM t_messages_0 WHERE type = 1 AND target = '群组ID' ORDER BY id DESC;

    注意:消息表是按id分片的(t_messages_0, t_messages_1...),需要查询所有分表。

    **建议:** 如果是需要在自己的业务后台获取群组消息,建议通过客户端SDK获取,或者部署一个机器人账号加入群组后接收消息。
返回