amazon-web-services - 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 渠道集成来处理,但我无法让它工作,所以我只是围绕它进行构建。
解决方案
使用 facebook messenger 验证 Amazon lex 是否正确配置。检查:页面访问令牌验证令牌应用程序 ID 检查您的 webhook 是否订阅了您正在发送消息的页面。检查您的 facebook 用户是否被添加为 tester/admin/developer 检查您的最新版本的 BOt 是否以预期的别名发布。同样在配置 webhook 时勾选必要的选项:messaging、messaging_postbacks、messaging_optins、message_deliveries、message_reads、messaging_payments
这应该可以解决您的头痛问题。如果不是请回复
推荐阅读
- c - 有没有办法更简洁地写这个?
- cucumber - qaf-cucumber - 无法在 BDD2 场景大纲中引用来自 CSV 数据提供者的数据
- ios - 返回 viewController 方向。迅速
- android - 如何不重叠 EditText 中按钮上的文本?
- python - 如何搜索以列表为值的字典?
- python - Kubernetes python客户端:删除缺少的变量
- c++ - 从 const 对象访问非 const 方法
- google-cloud-platform - 使用带有 terraform 的 GCP 云时,我可以自动启用 API 吗?
- google-cloud-platform - Spring Cloud Dataflow 与 Apache Beam/GCP 数据流说明
- vuejs2 - 道具显示在模板中,但不显示在函数中