Slack API,用于发送带有文件和块的消息

问题描述 投票:0回答:1

我使用 Slack 的 API 发送消息,使用

blocks
参数发送格式化消息。现在,我想添加将文件附加到消息的功能,就像通过 Slack 界面一样(例如复制粘贴图像/上传 pdf)。

在探索 API 并在线搜索后,我找不到在同一个 API 调用中同时使用

blocks
files
来发送消息的方法:

  1. chat.postMessage 允许使用
    blocks
    但不接受文件 ID/url。
  2. files.uploadV2 允许将文件附加到使用
    initial_comment
    作为简单字符串文本的消息,但不接受
    blocks
    作为富文本。
  3. 我还尝试使用带有“图像”块的postMessage,这部分实现了我的目标(仅适用于图像文件),但是Slack内的“图像”和“文件”的接口是不同的(无法从Slack中编辑消息) “图像”块;显示不同)。
  4. 我尝试的另一种方法是使用 files.uploadV2,然后使用 blocks 进行
    chat.update
    - 这似乎有效,但将 Slack 中的消息标记为
    edited
    - 不理想的用户体验。

有没有办法在 1 个 API 调用中向 Slack 发送消息时获得“文件”和“块”的完整功能?

在我看来这应该是可能的,因为另一个方向有效 - 当 Slack 在其事件中发送新消息的事件时,他们确实在同一事件中共享

blocks
files

slack-api slack-block-kit
1个回答
0
投票

来自 Slack 支持:

对于通过 Slack API 发布的消息,我们目前仅支持通过 slack_file 或图像块附加图像文件。或者,您可以尝试使用远程文件来查看这是否适合您 - https://api.slack.com/messaging/files#remote

如果远程文件不起作用,老实说,您最好的选择是选项 4。很抱歉这里有坏消息。

© www.soinside.com 2019 - 2024. All rights reserved.