我正在研究ASP.Net Core MVC 2应用程序中的Slack集成。
我已经完成了将消息搜索和发布到Slack频道的操作。现在,我被困在此应用程序中集成事件API。基本上,目前我无法按照此处Events API Subscription
的要求验证我的请求网址以下是我们提供给Slack的我的操作方法,他们将向其中发送验证json对象,该对象将映射到我的操作的请求参数,如下所示:
{
"token": "Jhj5dZrVaK7ZwHHjRyZWjbDl",
"challenge": "3eZbrw1aBm2rZgRNFdxV2595E9CY3gmdALWMmHkvFXO7tYXAYM8P",
"type": "url_verification"
}
[HttpPost]
public IActionResult Event(EventsRequest request)
{
if (request != null)
{
if (request.type.Equals("url_verification"))
return Content(request.challenge);
else
ViewBag.Challenge = request.challenge;
}
return View();
}
这是我的EventsRequest类:
public class EventsRequest
{
public string token { get; set; }
public string challenge { get; set; }
public string type { get; set; }
}
我已将此应用程序本地部署在IIS上,并应用了InBound规则以使其可以公开访问并且可以访问。但是,当我将以下URL提供给Slack进行验证时,就会出现问题:
有人可以告诉您这里出了什么问题吗?我试图用Postman来访问此URL,但是我能够获得预期的结果。
答案 0 :(得分:0)
您可以尝试以下操作:
在保存此表单之前,必须确认您的事件请求URL。如果 您的服务器需要一些时间才能“唤醒”,并且您最初尝试 URL验证由于超时而失败,请使用重试按钮 再次尝试验证。
如果第一次尝试失败,请确保服务器已启动并正在运行,然后再次尝试。
完成网址输入后,我们将分派HTTP POST到 您的请求网址。我们将验证您的SSL证书,并发送一封 application / json POST正文包含三个字段:
{ "token": "Jhj5dZrVaK7ZwHHjRyZWjbDl", "challenge": "3eZbrw1aBm2rZgRNFdxV2595E9CY3gmdALWMmHkvFXO7tYXAYM8P", "type": "url_verification" }
您需要将示例json替换为为您的url配置和验证生成的实际值。
请确保在生成挑战之前已正确设置了用于验证的网址,此后不会更改。
尝试在帖子请求中添加正文:
[HttpPost]
public IActionResult Event([FromBody]EventsRequest request)