Home Articles

Slack:检索所有消息

Asked
Viewed 8 times
25

我想检索在我的团队松弛域中发送的所有消息 . 虽然,我更喜欢用XML或JSON接收数据,但我能够以几乎任何形式处理数据 .

如何检索所有这些消息?可能吗?如果没有,我可以检索特定 Channels 的所有消息吗?

4 Answers

  • 19

    如果您需要通过API动态执行此操作,您可以使用channels.list method列出团队中的所有 Channels ,并使用channels.history method来检索每个 Channels 的历史记录 . 请注意,这不包括DM或私人组 .

    如果你需要做一次性的事情,请转到https://my.slack.com/services/export将团队的消息档案导出为一系列JSON文件

    message archive export screen

  • 10

    对于寻找直接消息历史记录下载的任何人,基于this节点的cli工具允许您以JSON和CSV格式从DM和IM下载消息 . 我用过它,效果很好 .

  • 10

    使用新的Conversations API这个任务现在有点容易了 . 以下是完整概述:

    Fetching messages from a channel

    只要您的令牌有权访问,新的API方法conversations.history将允许您从每种类型的会话/ Channels (公共,私人,DM,群组DM)下载邮件 .

    此方法还支持分页,允许您下载大量消息 .

    Resolving IDs to names

    请注意,此方法将以原始JSON格式返回仅包含ID的消息,因此您需要调用其他API方法将这些ID解析为纯文本:

    Fetching threads

    另外使用conversations.replies下载对话中的线程 . 线程的功能有点像会话中的对话,需要单独下载 .

    有关线程的更多详细信息,请查看官方文档的this page .

  • 0

    这个Python脚本通过简单的运行将所有内容导出到JSON:https://gist.github.com/Chandler/fb7a070f52883849de35

    它为您创建目录,您可以选择排除直接消息或通道 .

    您需要安装的只是slacker模块,它只是 pip install slacker . 然后用 --token='secret-token' 运行它 . 您需要一个旧令牌,目前可用here .

Related