当用户点击其中一条消息中的按钮时,我想访问Slack发送给Interactive Message Request Url的有效负载参数。
我该怎么做?
答案 0 :(得分:4)
在服务器端,检查您的请求网址是否允许接收POST。 如他们的文档(https://api.slack.com/docs/message-buttons)中所述:
您的操作URL将收到HTTP POST请求,包括有效负载 body参数,本身包含application / x-www-form-urlencoded JSON字符串。
首先必须解码请求的 x-www-form-urlencoded 格式,然后 json 解码。
在python中,我最终得到了这行代码:
payload = json.loads(urlparse.parse_qs(request.get_data())['payload'][0])
希望有一天能帮助别人!
答案 1 :(得分:0)
如果您使用AWS lamdba作为后端,请使用以下命令。 (python3)
import json
from urllib.parse import parse_qs
payload = json.loads(parse_qs(event['body'])['payload'][0])
答案 2 :(得分:0)
我设法通过这种方式获取信息:
data = request.form.to_dict()
payload = json.loads(data['payload']
print(payload["actions"][0]["name"]))
希望它对以后的人有所帮助。