1

我在 AWS Lex 中创建了一个机器人,并尝试将它与 Slack 集成。我创建了一个 Slack 应用程序并按照中提到的文档进行操作 -

https://docs.aws.amazon.com/lex/latest/dg/slack-bot-association.html

但是,在尝试与 Lex 回发 URL 集成时,我收到一条错误消息

Your URL didn't respond with the value of the challenge parameter.
Our Request:
POST
"body": { 
     "type": "url_verification",
     "token": "VbODUleNdk2hieCvDwlScrQF",
     "challenge": "HRUXnK6YYLpx5U1s9AiADZgA0BAhWuTzfjAAzLEJIw1zz4GfuMAb"
}
Your Response:
"code": 200
"error": "challenge_failed"
"body": {

}

据我所知,默认情况下 Lex 应该提供响应。我在这里做错了吗?任何线索都会有所帮助。

提前致谢。

4

2 回答 2

0

遇到了同样的问题。Slack 向我的端点发送的 POST 请求不是我的函数的设计目的。我按照 https://api.slack.com/tutorials/events-api-using-aws-lambda上的教程进行操作,必须添加一行:

exports.handler = (data, context, callback) => {
    data = JSON.parse(data.body); // added this line
    switch (data.type) {
        case "url_verification": verify(data, callback); break;
        case "event_callback": process(data.event, callback); break;
        default: callback(null);
    }
};
于 2020-12-16T02:27:40.987 回答
0

我今天早上遇到了这个,我想我会添加自己的经验。Slack 似乎正在推动“验证令牌”作为“签名密钥”的替代品,并声称它们是可互换的,但该令牌更安全。使用令牌时我无法获得质询响应,但使用密钥时效果很好。

于 2020-03-01T19:13:15.053 回答