首页 > 解决方案 > AWS Lex 和 Facebook Messenger 集成不起作用

问题描述

我正在努力让基于 AWS Lex 的聊天机器人与 Facebook 集成。

据我所知,一切都设置正确。

当我向 Facebook 页面发送消息时,我没有收到回复。但是,我的应用程序中的分析显示该应用程序正在获取消息,因此我知道消息正在从页面发送到应用程序。

当我尝试使用 POSTMAN 直接访问 AWS Lex Webhook 时,Webhook 会以空白的 HTTP 200 OK 响应来响应我发送给它的所有内容。

与 AWS Lex 聊天机器人相关的 lambda 函数不会因为来自 Facebook 的消息而被调用,因为没有生成日志并且 cloudwatch 没有显示尝试运行 lambda 函数。

有没有人有任何想法?

更新:我最终绕过了 AWS Lex 中的 Facebook 频道功能并使用 Lambda 来解决这个问题。我部署了一个传递 API,它调用一个 lambda 函数,然后通过 Boto3/Python 与 AWS Lex 交互。从理论上讲,这一切都应该在 AWS Lex 内部通过 Facebook 渠道集成来处理,但我无法让它工作,所以我只是围绕它进行构建。

标签: amazon-web-servicesfacebook-messenger-botamazon-lex

解决方案


使用 facebook messenger 验证 Amazon lex 是否正确配置。检查:页面访问令牌验证令牌应用程序 ID 检查您的 webhook 是否订阅了您正在发送消息的页面。检查您的 facebook 用户是否被添加为 tester/admin/developer 检查您的最新版本的 BOt 是否以预期的别名发布。同样在配置 webhook 时勾选必要的选项:messaging、messaging_postbacks、messaging_optins、message_deliveries、message_reads、messaging_payments

这应该可以解决您的头痛问题。如果不是请回复


推荐阅读