问题描述
我目前正在创建一个 slack 应用程序,并且我已经在我的网络应用程序中设置了一个 API 控制器来响应命令请求。我添加了 Slack.Webhooks 包
我的控制器中的操作如下所示:
public JsonResult GetInfo()
{
var slackresponse = new Slack.Webhooks.SlackMessage()
{
ResponseType = "in_channel",Text = "Here is a response!"
};
return new JsonResult() { ContentType = "application/json",Data = slackresponse };
}
但是在从集成的 slack 频道调用命令 /getinfo 时,我在频道中得到以下响应:
Only visible to you
Info Bot APP 8:02 AM
{"Text":"Here is a response!","ResponseType":"in_channel","ReplaceOriginal":false,"DeleteOriginal":false,"Channel":null,"Username":null,"IconEmoji":null,"IconUrl":null,"Markdown":true,"Mrkdwn":true,"LinkNames":false,"Parse":0,"ThreadId":null,"Attachments":null,"Blocks":null}
也就是说,我显然得到了一个响应,它的格式似乎与 slack API 文档中的预期响应相匹配,但由于某种原因,slack 并未对其进行反序列化!
如何以 slack 理解的方式响应此请求以正确反序列化响应?
解决方法
您应该使用 Slack 客户端发送响应。
您可以查看源代码库 here 以获取更多详细信息和文档。