Когда пользователь использует команду sla sh, я отправляю эфемерное сообщение только этому пользователю. Когда они нажимают кнопку, я хочу, чтобы это эфемерное сообщение было либо удалено, либо обновлено. Сейчас я просто пытаюсь заставить работать удаленную часть.
В документации Slack API говорится, что нужно отправить HTTP POST в response_url. Единственный response_url, который я получаю, когда пользователь нажимает кнопку, выглядит примерно так: https://hooks.slack.com/actions/XXXXXXXXX/YYYYYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZZ
Когда я отправляю POST на этот URL, я получаю сообщение об ошибке (я не уверен в чем ошибка, я просто знаю, что мой код терпит неудачу при попытке / поймать).
JSON, который я отправляю на этот URL-адрес, выглядит следующим образом:
{
"response_type" = "ephemeral",
"replace_original" = "true",
"delete_original" = "true",
"text" = ""
};
В документации по Slack API указано, что я должен отправить JSON на URL-адрес. это начинается с https://hooks.slack.com/services/, однако я не получаю ни одного response_url с / services /.
Вот код C#, который я использую для отправки ответа:
var replaceMsg = new NameValueCollection();
replaceMsg["delete_original"] = "true";
replaceMsg["replace_original"] = "true";
replaceMsg["response_type"] = "ephemeral";
replaceMsg["text"] = "";
var responseReplace = client.UploadValues(button.response_url, "POST", replaceMsg);
Редактировать: похоже, я получаю ошибку 404, когда пытаюсь отправить это
Exception: System.Net.WebException: The remote server returned an error: (404) Not Found.
Однако, когда я вставляю точный URL в свой браузер, я не получаю 404, я вижу JSON.
Кто-нибудь может направить меня в правильном направлении? Спасибо.