Slack:检索所有消息

mar*_*hep 27 slack-api

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

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

sea*_*ose 20

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

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

邮件存档导出屏幕


vk1*_*011 11

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

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

您需要安装的只是slacker模块,这很简单pip install slacker.然后运行它--token='secret-token'.您需要一个旧令牌,目前可在此处使用.


wja*_*rey 10

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

  • @abarisone这个工具叫做`slack-history-export`,可以用`npm install -g slack-history-export`安装.请参阅`slack-history-export -h`选项. (3认同)
  • 链接经常会改变或丢失,你能解释一下其中的一些内容或在这里引用吗? (2认同)

Eri*_*ken 7

有了新的Conversations API,这项任务现在变得更容易了。以下是完整概述:

从频道中获取消息

新的 API 方法conversations.history将允许您从各种类型的对话/渠道(公共、私人、DM、群组 DM)下载消息,只要您的令牌有权访问它。

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

将 ID 解析为名称

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

获取线程

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

查看官方文档的此页面以获取有关线程的更多详细信息。

  • 据我了解,这个问题仅涉及公共渠道。正如您从接受的答案中看到的,它不包括私人频道。检查此答案以了解如何访问所有私人频道:/sf/answers/3719984831/ (2认同)