如何在本地开发Google行动?

时间:2018-08-13 06:27:41

标签: actions-on-google

我的问题对您来说可能听起来很基本或很la脚,但是我对此的经验确实为零。我对Google Actions还是很陌生,对Javascript的了解也不多。我的问题是,如何在不使用Google提供的在线编辑器的情况下开发Google Action?你能一步一步地跟我讲吗?我尝试将自己注册到代码实验室练习中,希望对我有帮助,但是在代码实验室练习中,我已经从github克隆了很多代码,而这正是我用来使所有代码正常工作的原因。但是现在我想为我们的真实项目编码,我不知道如何从头开始。我知道如何创建代理和其他东西。但是我不知道如何在本地开发。请帮我。这是为了我们的论文。

2 个答案:

答案 0 :(得分:2)

如果您遵循Build Actions for the Google Assistant (Level 2)代码实验室,您将看到它讨论了使用Firebase Cloud Functions的setting up for local development in step 3。如果您向下滚动至该页面的第4部分,那么下面的内容将替换第4部分中的某些内容。

代替键入

,而不像建议的那样输入firebase deploy
firebase serve --only functions

这是要执行的操作,而不是将代码发送到服务器,而是在模拟Firebase Cloud Function配置的环境中本地运行代码。它将显示本地主机上可用的完整路径。如果您的函数命名为“ webhook”,则它将显示为:

  

功能:webhook:http://localhost:5000/your-project/us-central1/webhook

现在,您可以在其他窗口中使用ngrok命令,例如

ngrok http 5000

,该窗口将显示作为外部点的URL和主机名。所以可能是这样的:

  

转发https://8ba32042.ngrok.io->本地主机:5000

您将把这两者结合在一起,以形成应用作实现Webhook URL的URL。以我们的示例为例,

  

https://8ba32042.ngrok.io/your-project/us-central1/webhook

您要放入Dialogflow实现URL设置中的

然后,您可以在更改代码中的内容并使用ngrok控制台检查请求和响应时,停止并启动本地Firebase托管。如果您停止了ngrok命令行,则再次启动它时,将获得一个新的主机名,并且还需要在Dialogflow中对其进行更改。

答案 1 :(得分:1)

  • 下载NGROK
  • 下载NODEJS
  • 在NodeJS上使用Express开发本地webhook
  • 使用NGROK将此本地Webhook公开到互联网上
  • 使用NGROK生成的URL作为Dialogflow代理的实现。
  • 将Google Assistant与Dialogflow集成并对其进行测试。

这里是tutorial的开头