替代 firebase 函数来创建 actions-on-google 集成

Alternative to firebase functions to create actions-on-google integration

我正在尝试为 Firebase 寻找一种替代方法来创建可与 actions-on-google DialogFlow class 配合使用的函数。我正在创建一个 nodeJS 应用程序,它将创建一个 Web 服务端点,该端点将在 DialogFlow 仪表板中配置为 Fulfillment URL。处理来自 API.AI 的请求的所有业务逻辑都将在 nodeJS 应用程序中。然后,此应用程序将通过调用 app.ask() 和 API.AI(又名 DialogFlow)

的其他相关方法发回响应

原因:我们的部署云在 OneOps 上,我们有专门用于 nodeJS 应用程序的程序集。也就是说,我需要在我们的 OneOps 云而不是 Firebase 云上部署这个节点应用程序。

这里有 Firebase 的替代品吗?

当然!使用 Dialogflow,您可以在 Dialogflow 的控制台中定义任何 URL(最好是 HTTPS),并且您可以自由使用任何支持 HTTP 的托管平台:

此外,您应该能够在 Google 库中使用 Action 来响应大多数 Node.js 环境中的请求

当然可以!您可以使用任何您想要的 - Dialogflow 所需要的只是 Webhook 位于具有有效 HTTPS 证书的 public 地址上。

设计 webhook 时,您需要接受来自 Dialogflow 的 POST 请求,其中包含 JSON 作为正文,并同样以 JSON 正文响应。

由于您使用的是 node.js,因此您可能会使用 Express。如果您将使用 actions-on-google 库,需要注意的一件事是它期望 Express 已经使用 JSON 对象填充了 req.body - 而不是字符串主体.这通常是通过 body-parser.

等中间件完成的