如何从Google智能助理发出局域网HTTP请求?

时间:2017-09-12 18:00:06

标签: android http google-assistant-sdk ifttt google-assist-api

我想直接从我的Google智能助理向我的LAN上的服务器(例如Node-red或Arduino)发出HTTP请求。

我想重现this widget的行为,但这种行为不适用于谷歌助手。

将IFTTT与webhooks一起使用,使IFTTT网站可以从他们的服务器在互联网上ping,而不是从我的私人LAN中的移动设备上ping。我认为如果我使用带有webhook的api.ai进行谷歌操作会发生同样的情况。例如,此应用Wake On Lan可以提供局域网请求,但它不会使用192.168.0.2:1880/test之类的链接,它只需要IP地址,但它适用于谷歌热门词,OK Google。 / p>

那么如何直接从我的Google智能助理发出HTTP POST请求?

1 个答案:

答案 0 :(得分:1)

我不是100%确定你在这里要做什么,但我 THINK ngrok可能会帮助你。

如果您的目标是能够访问只能在本地网络中访问的服务器,那么您真正需要的是一种使该服务器可以从网络外部访问的方法,但仅限于您。你有两种方法可以做到这一点。一种是在路由器上打开一个端口,这本身就是不安全的。另一种是使用ngrok。 ngrok是您在本地服务器上运行的应用程序,它可以打开到本地网络的安全隧道。您可以使用外部URL来访问它,如下所示:

https://02355cab0.ngrok.io/

哈希是唯一的,只有你知道。该URL可从Internet上的任何位置访问,但指向本地LAN上的服务器,即:

https://02355cab0.ngrok.io/ - > http://192.168.0.2:1880

在这里查看: https://ngrok.com/

然后,使用此ngrok网址,您可以将其提供给Google智能助理或任何应用程序(如果需要,可以使用IFTTT),以便从网络直接拨打本地网络。