【发布时间】:2016-12-26 21:18:14
【问题描述】:
我正在构建并发送消息附件:
var zz = {
"text": "Would you like to play a game??",
"attachments": [
{
"text": "Choose a game to play",
"fallback": "You are unable to choose a game",
"callback_id": "wopr_game",
"color": "#3AA3E3",
"attachment_type": "default",
"actions": [
{
"name": "chess",
"text": "Chess",
"type": "button",
"value": "chess"
}
]
}
]
}
web.chat.postMessage(message.source.channel, '', zz);
带有按钮的消息在 Slack 上显示正常,但是当我点击一个按钮时,Slack 没有对我的本地 ngrok 或快速路由的 POST 响应:
app.post('/slackaction', function(req, res)
当其他消息正常发布到此路由时。
点击按钮后,我从 Slack 看到此错误:
"Oh no, something went wrong. Please try that again"
Slack 交互式消息request_url 设置为:
https://xxx.ngrok.io/slackaction
【问题讨论】:
-
尝试使用GET
app.get('/slackaction', function(req, res) -
试过 GET 但没有改善。仍然收到同样的错误“哦,不,出了点问题。请再试一次”
-
您用于
chat.postMessage的令牌是您在 OAuth 授权流程中为您配置请求 URL 的同一应用程序收到的令牌吗? -
@TaylorSingletary 你是说当有人使用 chat.postMessage API 的测试令牌时,开发/测试交互式消息的响应将不起作用?
-
@hatter123 是的,交互式消息需要在整个端到端过程中使用 Slack 应用程序。消息必须来自同一个应用程序,该应用程序设置为处理由这些消息激活的操作。