我正在尝试使用机器人来点击Slack中的交互式消息上的按钮(最好是作为机器人,但使用用户令牌也可以。)
我发现发送动作信息的链接是
我的问题是我找不到“chat.attachmentAction”的任何文档。查看使用浏览器时发送的请求,它有一个http参数:“_ x_id”,有效负载是一个WebKitForm,包含4个项目:payload,client_id,payload_id和token。
我确定我是不是发送了适当的数据或身份验证或者是什么。我的所有POST都返回“invalid_payload”或“invalid_arg_name。”
非常感谢任何帮助。
答案 0 :(得分:1)
看起来我终于明白了! 我不得不以老式的方式解决这个问题。 Slack客户支持仅对官方公共API有帮助。我将在Javascript中留下解决方案。
要做到这一点,你需要3件事:
choice_num
message
SLACK_TOKEN
方法chat.attachmentAction
本身需要3个参数:
payload
service_id
和/或bot_user_id
token
args = encodeURI(
'有效载荷= {'
+'""":[' + JSON.stringify(message.attachments [0] [" actions"] [choice_num])+'],'
+'" attachment_id":"' + message.attachments [0] [" id"] +'",'
+'" callback_id":"' + message.attachments [0] [" callback_id"] +'",'
+'" channel_id":"' + message.channel +'",'
+'" message_ts":"' + message.ts +'"}'
+'& service_id =' + message.bot_id
+'& bot_user_id =' + message.user
+'& token =' + SLACK_TOKEN
)request_url =' https://YOURSLACKTEAM.slack.com/api/chat.attachmentAction?' + args
然后只是向request_url发送一个异步POST,你应该得到这样的东西:
{"替换":真," OK":真}