4

当我使用这样的块通过 api 发送多个图像时:

{
    "blocks": [
        {
            "type": "image",
            "title": {
                "type": "plain_text",
                "text": "Please enjoy this photo of a kitten"
            },
            "image_url": "http://placekitten.com/500/500",
            "alt_text": "An incredibly cute kitten."
        },
        {
            "type": "image",
            "title": {
                "type": "plain_text",
                "text": "Please enjoy this photo of a kitten"
            },
            "image_url": "http://placekitten.com/500/500",
            "alt_text": "An incredibly cute kitten."
        },
        {
            "type": "image",
            "title": {
                "type": "plain_text",
                "text": "Please enjoy this photo of a kitten"
            },
            "image_url": "http://placekitten.com/500/500",
            "alt_text": "An incredibly cute kitten."
        }
    ]
}

Slack 将它们显示为单独的块,并且不会将它们组合到图库中: slack screenshot - API

当我在一条消息中使用 Slack 应用程序上传它们时 - 它将它们组合成一个画廊: slack screenshot - with gallery

我在 file.upload 之后尝试了块、附件、第三方 url、永久链接 - 结果是一样的,Slack 没有将它们合并到图库中。

所以,问题是 - 我如何让 Slack 在画廊中显示几张图片?

4

2 回答 2

6

UPD:刚从 Slack 开发人员支持处得到答案: slack dev support answer screenshot

不幸的是,使用块工具包构建器无法实现图像的水平/画廊格式。但是,我将继续将您的电子邮件传递给我们的产品团队,以便他们在未来的更新中考虑到这一点。

于 2020-11-13T20:24:30.917 回答
2

根据您的评论,

[...] file.upload 之后的永久链接 [...]

这个相关的答案可能会有所帮助(我还在那里添加了这个澄清)。

上传文件并收集它们的永久链接时,您必须将它们链接到消息负载text中的参数中(将它们放在参数中的 mrkdwn 块中不起作用)。blocks

在 javascript 中,这看起来像:

const result1 = await web.files.upload({...})
const result2 = await web.files.upload({...})
await web.chat.postMessage({
  text: `Here are files in a gallery view <${result1.file.permalink| ><${result2.file.permalink| >`,
  ...
})
于 2021-07-09T00:20:28.203 回答