首页 > 解决方案 > 你能以非交互方式使用松弛按钮吗?

问题描述

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

在此处输入图像描述

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

我的块:

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

如果我直接从块工具包构建器发送此块,则没有警告消息。我猜这是因为它是作为我的用户而不是应用程序发送的。

标签: slackslack-block-kit

解决方案


到目前为止,没有办法设置没有交互性的块工具包按钮。即,当有人点击按钮(带有或不带有 URL)时,Slack 会向您的应用配置中的预配置 URL 发送请求。应用程序需要确认此请求并发送HTTP 200 OK响应,以便按钮 URL 可以在没有错误标志的情况下工作。

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

目前,一种解决方法是在网络上的某处设置一个 webhook URL(谷歌云运行可能是一个很好的免费解决方案),它返回一个确认响应。然后,您可以更改应用的配置以使用此 URL 进行应用交互。

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


推荐阅读