"Invalid blocks" 通过 response_url webhook 更新临时消息时

"Invalid blocks" when updating ephemeral message via response_url webhook

根据 Slack's documentation,您可以使用块来更新整个临时消息,方法是在发布到使用按钮时的交互负载。

但是,当我在按下按钮后向提供的 response_url 发送 POST 请求并尝试使用块时,出现以下错误:404 : [{"ok":false,"error":"invalid_blocks"}]

奇怪的是,我为块包含的有效负载是通过创建原始临时消息的相同方法生成的,该消息可以正常工作,没有任何问题。

我能够通过使用文档中指示的 text 字段将整个消息替换为纯文本消息,如果我不包含 blocks 数组,它也能正常工作。我确实在这里找到了一些文档,用于通过传入的 webhooks here 发布消息,但它看起来和我现在发送的一样。

这是我要发送的请求的正文:

{
"blocks":
[
    {
        "type": "image",
        "imageUrl": "https://example.com/image.jpeg",
        "altText": "alt-text",
        "title":
        {
            "type": "plain_text",
            "text": "some text"
        }
    },
    {
        "type": "actions",
        "elements":
        [
            {
                "type": "button",
                "text":
                {
                    "type": "plain_text",
                    "text": "Send",
                    "emoji": false
                },
                "value": "send",
                "style": "primary"
            },
            {
                "type": "button",
                "text":
                {
                    "type": "plain_text",
                    "text": "Find new",
                    "emoji": false
                },
                "value": "some text"
            },
            {
                "type": "button",
                "text":
                {
                    "type": "plain_text",
                    "text": "Cancel",
                    "emoji": false
                },
                "value": "cancel"
            }
        ]
    }
],
"replace_original": "true",
"text": "some fallback text"
}

您的区块中有两个拼写错误:imageUrlaltText。 Slack 预计这些是蛇形案例,即 image_urlalt_text.

您可以使用 Slack 的 Block Kit Builder 来调试区块负载。