如何在本地开发 google 动作?
How to develop google actions locally?
我的问题对你来说可能听起来很基础或蹩脚,但我对此真的没有经验。我对 Google Actions 很陌生,对 Javascript 不太了解。我的问题是如何在不使用提供的在线编辑器 google 的情况下开发 Google 动作?你能一步步给我讲讲吗?我尝试让自己参加 codelab 练习,希望这对我有帮助,但在 codelab 练习中,已经有一堆我从 github 克隆的代码,这就是我用来使它全部工作的代码。但是现在我想为我们的真实项目编写代码,我不知道如何从头开始。我知道如何创建代理和其他东西……但我不知道如何在本地开发。请帮我。这是我们的论文。
- 下载NGROK
- 下载 NODEJS
- 在 NodeJS 上使用 Express 开发本地 webhook
- 使用 NGROK 将此本地 webhook 公开到互联网
- 使用生成的 NGROK URL 作为 Dialogflow 代理的实现。
- 将 Google Assistant 与 Dialogflow 集成并进行测试。
这里是tutorial开头
如果您遵循 Build Actions for the Google Assistant (Level 2) codelab, you'll see that it talks about setting up for local development in step 3 使用 Firebase 云函数。如果您向下滚动到该页面上的第 4 部分,以下内容将替换第 4 部分中的某些内容。
与其建议输入 firebase deploy
,不如 输入
firebase serve --only functions
这样做的目的是,您 运行 在模拟 Firebase Cloud Function 配置的环境中将代码本地化,而不是将代码发送到服务器。它将显示本地主机上可用的完整路径。如果您的函数名为 "webhook",它将显示如下内容:
functions: webhook: http://localhost:5000/your-project/us-central1/webhook
现在,您可以在另一个 window 中使用 ngrok 命令,例如
ngrok http 5000
和 window 将显示作为外部点的 URL 和主机名。所以它可能是这样的:
forwarding https://8ba32042.ngrok.io -> localhost:5000
您可以将这两者结合起来,使 URL 您应该用作 fulfillment webhook URL。使用我们的示例,它将类似于
您将放入 Dialogflow fulfillment URL 设置中。
然后,当您更改代码中的内容并使用 ngrok 控制台检查请求和响应时,您可以停止和启动本地 firebase 托管。如果您曾经停止过 ngrok 命令行,当您再次启动它时,您将获得一个新的主机名,并且您还需要在 Dialogflow 中更改它。
我的问题对你来说可能听起来很基础或蹩脚,但我对此真的没有经验。我对 Google Actions 很陌生,对 Javascript 不太了解。我的问题是如何在不使用提供的在线编辑器 google 的情况下开发 Google 动作?你能一步步给我讲讲吗?我尝试让自己参加 codelab 练习,希望这对我有帮助,但在 codelab 练习中,已经有一堆我从 github 克隆的代码,这就是我用来使它全部工作的代码。但是现在我想为我们的真实项目编写代码,我不知道如何从头开始。我知道如何创建代理和其他东西……但我不知道如何在本地开发。请帮我。这是我们的论文。
- 下载NGROK
- 下载 NODEJS
- 在 NodeJS 上使用 Express 开发本地 webhook
- 使用 NGROK 将此本地 webhook 公开到互联网
- 使用生成的 NGROK URL 作为 Dialogflow 代理的实现。
- 将 Google Assistant 与 Dialogflow 集成并进行测试。
这里是tutorial开头
如果您遵循 Build Actions for the Google Assistant (Level 2) codelab, you'll see that it talks about setting up for local development in step 3 使用 Firebase 云函数。如果您向下滚动到该页面上的第 4 部分,以下内容将替换第 4 部分中的某些内容。
与其建议输入 firebase deploy
,不如 输入
firebase serve --only functions
这样做的目的是,您 运行 在模拟 Firebase Cloud Function 配置的环境中将代码本地化,而不是将代码发送到服务器。它将显示本地主机上可用的完整路径。如果您的函数名为 "webhook",它将显示如下内容:
functions: webhook: http://localhost:5000/your-project/us-central1/webhook
现在,您可以在另一个 window 中使用 ngrok 命令,例如
ngrok http 5000
和 window 将显示作为外部点的 URL 和主机名。所以它可能是这样的:
forwarding https://8ba32042.ngrok.io -> localhost:5000
您可以将这两者结合起来,使 URL 您应该用作 fulfillment webhook URL。使用我们的示例,它将类似于
您将放入 Dialogflow fulfillment URL 设置中。
然后,当您更改代码中的内容并使用 ngrok 控制台检查请求和响应时,您可以停止和启动本地 firebase 托管。如果您曾经停止过 ngrok 命令行,当您再次启动它时,您将获得一个新的主机名,并且您还需要在 Dialogflow 中更改它。