我已经通过 slack 创建了自定义斜杠命令配置并将其安装在工作区上。但是,当我运行它时,我得到这个 /testing 失败并出现错误“dispatch_failed”
我尝试了多个工作区但同样的问题。有人经历过吗?
我已经通过 slack 创建了自定义斜杠命令配置并将其安装在工作区上。但是,当我运行它时,我得到这个 /testing 失败并出现错误“dispatch_failed”
我尝试了多个工作区但同样的问题。有人经历过吗?
所以经过几次测试后,我发现这只是一个通用消息,表示此时任何在松弛时失败的东西。我首先有我无法到达的端点。所以它正在返回此消息。我修复了这个问题,将 ngrok 用于隧道,以便我可以调试,这就是我发现这个问题的方式。
此外,由于以下原因也可能发生此错误。
虽然文档告诉您:
“使用请求 URL 是你的基础服务器链接 + “/slashcommand” 之后”
这是不正确的。请求 URL 应为:“/slack/events”
当然,该命令需要与“编辑命令”窗口中的内容和 app.js 中的“.command”方法中的内容相匹配:
app.command('/flash-card', async ({ ack, body, client })
如果您要ngrok http <port>
在 localhost 中进行测试,请注意每次运行此命令时都会创建一个新的 ngrok 公共 URL。因此,在https://api.slack.com/apps中,在您应用的功能中,您可能需要使用为您生成的当前 ngrok URL 更新您的 Slash Command 请求 URL。
这也是404 Not Found的错误。
如果你用 离线开发ngrok
,在终端可以看到 404 错误。
如果您使用 进行部署serverless
,请确保您正在处理新端点/slack/command
。一种解决方案是创建一个单独的处理程序, 即 /command.js
functions:
slack:
handler: app.handler
events:
- http:
path: slack/events
method: post
command:
handler: command.handler
events:
- http:
path: slack/command
method: post
您需要将集成设置中的方法设置为GET,默认为POST