如何获取话题群中的消息内容?

如何获取话题群中的消息内容?
Photo by Markus Spiske / Unsplash

飞书开放平台提供了获取会话历史的能力,开发者可以借助这个 API 来获取话题群当中的消息内容。

业务逻辑

话题群只是群的一种类型,因此,可以使用群类型通用的获取历史的方法,来获取话题群当中的内容。

此外,在获取群历史的时候需要注意,API 返回结果的信息当中包含 root_id / parent_id 的即为回复话题的消息,你需要先将对应的历史拉下来,再从子节点反向构建话题消息的历史。

示例代码

以下代码为伪代码,仅用于讲解逻辑。请自行替换为对应语言的逻辑实现。

/**
 * 获取话题群会话历史消息的位代码
 * Author: 白宦成 <hi@feishu.io>
 */
function fetchGroupHistory() {
    // 此处为获取会话历史的封装

    // 文档地址:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/list
    // 服务端 SDK:https://open.feishu.cn/document/ukTMukTMukTM/uETO1YjLxkTN24SM5UjN
}

function main() {
    items = fetchGroupHistory();

    for (item in items) {
        if (item.hasKey('parent_id') && item.hasKey('root_id') && item.root_id == item.parent_id) {
            // 该 item 有 parent_id 和 root_id, 说明其为话题群回帖消息
        } else {
            // 该 item 无 parent_id 和 root_id, 说明其为话题群发帖消息
        }
    }
    return 0;
}