【问题标题】:Dialogflow using AWS Lambda webhook使用 AWS Lambda Webhook 的 Dialogflow
【发布时间】:2018-12-09 09:21:50
【问题描述】:

我正在尝试利用 AWS Lambda 作为对话流调用的 webhook。 我想使用所有代理/谷歌操作库。

因此,我复制了示例代码并将其粘贴到 Lambda,我们在 Dialogflow 控制台中获得了这些代码。我安装了所有的 npm 库。但是在测试时我遇到了这个问题:

TypeError: Cannot read property 'result' of undefined
    at new WebhookClient (/var/task/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:84:27)
    at exports.dialogflowFirebaseFulfillment.functions.https.onRequest (/var/task/index.js:13:17)
    at cloudFunction (/var/task/node_modules/firebase-functions/lib/providers/https.js:57:9)

我之前已经公开了 Lambda,但由于 Dialogflow 的要求,我无法这样做。

注意:我在 Google Cloud 和 AWS Lambda 中传递相同的请求负载,Google Cloud 返回正确但 Lambda 返回错误,如上所述。

不确定我是否遗漏了任何步骤或我的理解有误。

请帮忙。

【问题讨论】:

  • 您是否在 Firebase 中启用了 Billing Account(前 Blaze 计划)?
  • 我不需要 Firebase 权限,因为我想使用 AWS Lambda。

标签: amazon-web-services aws-lambda webhooks dialogflow-es dialogflow-es-fulfillment


【解决方案1】:

能否请您也在这里发布一些代码以供参考?

如果您已经为dialog-flow 安装了所需的 npm 库,那么据我所知,它应该可以工作。

另外请注意,如果您尝试访问 DialogFlow 的输入请求参数,例如 {"userId": string,"idToken " string},默认情况下在 lambda 事件中将无法访问它,因此您可能会遇到类似 Cannot read property 'result.originalRequest.user.idToken' of undefined 的错误。

您必须首先在履行意图上启用 google 集成,以便 google 可以请求用户在请求正文中发送这些属性的权限。

另外,由于这个问题是几个月前被问到的,如果您的问题得到解决,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多