首页 > 解决方案 > 如何从 dialogflow 内联编辑器迁移到 webhook

问题描述

我正在为我的一些代理意图使用 Dialogflow 内联编辑器。那里只有两个文件(package.json 和 index.js)。如果我想为新意图添加响应,我只需编写一个带有响应字符串的函数,并将该函数与意图名称匹配。很简单。

现在,我想从内联编辑器切换到我自己的 Webhook。我知道我必须在本地机器上运行类似 Express 服务器的东西。但是,这只是将这两个文件的内容复制并粘贴到我自己的两个文件中吗?还是我需要做其他事情才能让它发挥作用。

此外,如果我的内联编辑器(与 Google 日历 API 交互)中确实有一些复杂的实现功能,如果我只是将现有代码复制并粘贴到本地文件,我该如何传递凭据?

标签: dialogflow-eswebhooksdialogflow-es-fulfillment

解决方案


基本上,如果您想从无服务器功能迁移到服务器是的,您将必须复制这些文件并启动您自己的快速服务器

对于要成为 webhook 的服务器,只需提供一个可以为 POST 端点提供服务的服务即可满足您的需求

  1. 创建您的 Node.js 项目
  2. 安装 express、dialogflow-fulfillment 库和其他依赖项
  3. 创建您的 POST 端点以实现
  4. 将指向该端点的链接放入 Dialogflow

Webhook 只是一个简单的 HTTP 回调。Dialogflow 将触发您提供的 webhook、POST 端点,并在代码执行后将响应发送回 Dialogflow

Webhook 流

要附加到 Dialogflow webhook,您只需提供您的 webhook 端点即可

通过将URL*部分替换为您的端点,例如https://yourdomain.com/endpointforwebhook

填写页面

如果您从本地计算机开发,请尝试使用Ngrok并为 Dialogflow 添加临时端点

如果对于登台或生产,您需要一个真正的端点域,只需从将您的快速服务器部署到Heroku开始,然后为 Dialogflow 添加一个端点

对于本地文件中的凭据部分,
您可以使用环境 env 或一些配置管理来管理本地文件中的凭据。请参阅Dotenv npm 包


推荐阅读