Я пытаюсь сделать кнопку подтверждения слабой во время выполнения команды косой черты. например Я запускаю команду slash (/test
), она отправляет запрос POST моему приложению python, которое отправляет назад 2 кнопки (Подтвердить, Отмена). Пользователь нажимает одну из кнопок Slack запускает действие и отправляет еще один запрос POST в мое приложение. Перед этим шагом все работает нормально - я не могу правильно обработать данные из 2-го запроса POST.
В документации Slack я нашел это:
Когда вызывается действие, запрос будет отправлен на URL запроса приложения, как настроено выше; тело запроса будет содержать параметр полезной нагрузки, который ваше приложение должно проанализировать для JSON.
Когда я делаю
data=json.loads(request.form["payload"])
return jsonify(data)
Я получаю
{
"action_ts": "XXXX",
"actions": [
{
"name": "confirm",
"type": "button",
"value": "confirm"
}
],
"attachment_id": "X",
"callback_id": "XXXX",
"channel": {
"id": "XXXX",
"name": "XXXX"
},
"is_app_unfurl": false,
"message_ts": "XXXX",
"response_url": "XXXX",
"team": {
"domain": "XXXX",
"id": "XXXX"
},
"token": "XXXX",
"trigger_id": "XXXX",
"type": "interactive_message",
"user": {
"id": "XXXX",
"name": "XXXX"
}
}
После того, как я позвоню
data=json.loads(request.form["payload"])
action=data["actions"]
return jsonify(action)
Я получаю
[
{
"name": "confirm",
"type": "button",
"value": "confirm"
}
]
Теперь, когда я пытаюсь получить значение "name"
с action["name"]
, я получаю ошибку
TypeError: индексы списка должны быть целыми или кусочками, а не str
Я пытался json.dumps(action)
и json.dumps(action["name"])
, ни один из них не работал.
Как читать эти значения? Мне нужно проверить значение name
, а затем сделать все остальное.