如何访问Slack的交互式消息请求有效负载参数?

时间:2017-04-20 07:10:39

标签: python slack-api slack

当用户点击其中一条消息中的按钮时,我想访问Slack发送给Interactive Message Request Url的有效负载参数。

我该怎么做?

3 个答案:

答案 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"]))

希望它对以后的人有所帮助。