松弛不发送 POST 按钮请求
slack doen't sent POST request on button
我正在尝试执行以下操作:
- python 脚本使用按钮和有效负载向 slack 发送消息,
- 用户点击松弛消息中的按钮,
- 按钮将 POST 和负载发送到请求 URL (aws api)
当前按钮不发送 POST。
我用以下 python 脚本伪造消息
slack_token = 'xoxp-1111-111-111-qqqqqq'
sc = slack.WebClient(slack_token)
sc.chat_postMessage(
channel="QQQQQ",
blocks=[
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "send post"
}
}
]
}
]
)
我在 slack 应用程序的 "Interactive Components" 和 "Event Subscriptions" 中将 https://here.aws.api.amazonaws.com/default/lambda 添加为 "Request url"。
当我向 bot POST 发送消息时,请求被发送到 aws api。
当我单击按钮时 POST 请求未发送。
尝试使用两个标记 xoxp- 和 xoxb-
问题是:
slack 以奇怪的方式生成 http 请求。它不是 json,而是将 "blocks" 放入以下结构中:
{ ...... 'body': (byte[])\"payload=%7B%22type%22%3A%22block_actions%2 ...}
解码后等于:
{...payload={"type": "block_actions",...}
这不像 json 那样可读。
AWS API 拒绝了这些松弛请求。
AWS cloudwatch 帮助调查问题。
为避免这种情况,有必要在方法添加期间启用 "Use Lambda Proxy integration" 选项。
我正在尝试执行以下操作:
- python 脚本使用按钮和有效负载向 slack 发送消息,
- 用户点击松弛消息中的按钮,
- 按钮将 POST 和负载发送到请求 URL (aws api)
当前按钮不发送 POST。
我用以下 python 脚本伪造消息
slack_token = 'xoxp-1111-111-111-qqqqqq'
sc = slack.WebClient(slack_token)
sc.chat_postMessage(
channel="QQQQQ",
blocks=[
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "send post"
}
}
]
}
]
)
我在 slack 应用程序的 "Interactive Components" 和 "Event Subscriptions" 中将 https://here.aws.api.amazonaws.com/default/lambda 添加为 "Request url"。
当我向 bot POST 发送消息时,请求被发送到 aws api。
当我单击按钮时 POST 请求未发送。
尝试使用两个标记 xoxp- 和 xoxb-
问题是: slack 以奇怪的方式生成 http 请求。它不是 json,而是将 "blocks" 放入以下结构中:
{ ...... 'body': (byte[])\"payload=%7B%22type%22%3A%22block_actions%2 ...}
解码后等于:
{...payload={"type": "block_actions",...}
这不像 json 那样可读。 AWS API 拒绝了这些松弛请求。
AWS cloudwatch 帮助调查问题。 为避免这种情况,有必要在方法添加期间启用 "Use Lambda Proxy integration" 选项。