您可以非交互地使用松弛按钮吗?

joe*_*joe 12 slack slack-block-kit

在使用 Slack 的块套件构建器时,我创建了一条消息,该消息将发送通知以及供用户单击的链接。我喜欢默认按钮的外观,但每当我单击它时,我都会收到一条警告,提示我的应用程序未配置交互性。

在此输入图像描述

该链接确实有效,但警告图标令人不安。有没有办法在不期望交互性的情况下使用这些按钮?另一种选择似乎是只使用降价链接,但我认为它看起来不太好。

我的区块:

{
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "Hello here's a notification"
            }
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "<https://google.com|View Conversation>"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如果我直接从块套件构建器发送此块,则不会出现警告消息。我猜这是因为它是作为我的用户而不是应用程序发送的。

Jai*_*dya 5

截至目前,无法在没有交互性的情况下设置块套件按钮。即,当有人单击按钮(带或不带 URL)时,Slack 会向应用程序配置中预先配置的 URL 发送请求。应用程序需要确认此请求并发送响应HTTP 200 OK,以便按钮 URL 能够正常工作而不会出现错误符号。

您可以在此处阅读 Slack 的 GitHub 上相当详细的讨论。

目前的解决方法是在网络上的某个位置设置一个 webhook URL(google cloud run 可能是一个很好的免费解决方案),该 URL 返回确认响应。然后,您可以更改应用程序的配置以使用此 URL 进行应用程序交互。

ps 当您使用 block kit builder 向 Slack 发送预览消息时,它使用与 Slack Web 应用程序使用的用户令牌相同的用户令牌。当您使用任何其他用户令牌(从应用程序的安装流程接收)时,无法复制您上面提到的行为。