SlackBot:Dialog 不是从 App home 调用的
SlackBot: Dialog is not invoked from App home
使用按钮从 Slack 新应用主页调用对话框时出错。使用 AWS lambda 和 NodeJS。
Link 已关注:https://api.slack.com/tutorials/app-home-with-modal
示例 API 调用:
POST https://slack.com/api/views.open
Body:
{"view": "{'type':'modal','title':{'type':'plain_text','text':'Request leave','emoji':true},'submit':{'type':'plain_text','text':'Submit','emoji':true},'close':{'type':'plain_text','text':'Cancel','emoji':true},'blocks':[{'type':'divider'},{'type':'input','element':{'type':'datepicker','placeholder':{'type':'plain_text','text':'Select a date','emoji':true}},'label':{'type':'plain_text','text':'Start date','emoji':true}},{'type':'input','optional':true,'element':{'type':'datepicker','placeholder':{'type':'plain_text','text':'Select a date','emoji':true}},'label':{'type':'plain_text','text':'End date','emoji':true}},{'type':'input','label':{'type':'plain_text','text':'Reason','emoji':true},'element':{'type':'plain_text_input','multiline':true},'optional':true}]}",
"trigger_id": "9%%%%00d5bb3e5"
}
Headers:
Content-Type => application/json; charset=iso-8859-1
Authorization => Bearer xoxb-94*******
错误:
{"ok":false,"error":"dispatch_failed"}
在浏览器网络选项卡中
更新:http_service_error
当我将 slash command
与 dialog.open
/ views.open
一起使用时
const web = new WebClient(process.env.BOT_TOKEN);
(async () => {
await web.views.open({
trigger_id: body.trigger_id,
view: {<my block>},
});
})();
这成功了!
使用按钮从 Slack 新应用主页调用对话框时出错。使用 AWS lambda 和 NodeJS。 Link 已关注:https://api.slack.com/tutorials/app-home-with-modal
示例 API 调用:
POST https://slack.com/api/views.open
Body:
{"view": "{'type':'modal','title':{'type':'plain_text','text':'Request leave','emoji':true},'submit':{'type':'plain_text','text':'Submit','emoji':true},'close':{'type':'plain_text','text':'Cancel','emoji':true},'blocks':[{'type':'divider'},{'type':'input','element':{'type':'datepicker','placeholder':{'type':'plain_text','text':'Select a date','emoji':true}},'label':{'type':'plain_text','text':'Start date','emoji':true}},{'type':'input','optional':true,'element':{'type':'datepicker','placeholder':{'type':'plain_text','text':'Select a date','emoji':true}},'label':{'type':'plain_text','text':'End date','emoji':true}},{'type':'input','label':{'type':'plain_text','text':'Reason','emoji':true},'element':{'type':'plain_text_input','multiline':true},'optional':true}]}",
"trigger_id": "9%%%%00d5bb3e5"
}
Headers:
Content-Type => application/json; charset=iso-8859-1
Authorization => Bearer xoxb-94*******
错误:
{"ok":false,"error":"dispatch_failed"}
在浏览器网络选项卡中
更新:http_service_error
当我将 slash command
与 dialog.open
/ views.open
const web = new WebClient(process.env.BOT_TOKEN);
(async () => {
await web.views.open({
trigger_id: body.trigger_id,
view: {<my block>},
});
})();
这成功了!