如何 运行 google 助手比特币信息示例 webhook index.js
Howto run google assistand bitcoinInfo example webhook index.js
我正在尝试在我自己的服务器上 运行 google 助手示例 webhook nodejs 应用程序 (index.js),但不知道什么是虚拟主机设置。 .
https://codelabs.developers.google.com/codelabs/your-first-action-on-google-with-webhook/#2
我服务器上运行这个应用程序的环境是什么?由于它不是 运行ning 作为监听服务器,我不能使用 nginx,node_cgi 与 apache 不成熟,我应该如何 运行 这个示例?
非常好,您应该确保在页面上提交错误请求以表明它不清楚。
所提供的代码旨在 运行 使用 Google Cloud Functions。
这并不意味着您不能 运行 它在您自己的服务器上 - 只是您需要知道如何 运行 您的 Apache 之外的 Node.js 服务器或Nginx 环境。我见过很多配置,但通常你会有 Node.js 服务器应用程序 运行ning 并监听本地端口,并在特定路径的面向外部的 Web 服务器之间有一个代理和这个端口。
但在这种情况下,即使这样还不够 - 代码本身不在端口上侦听 - 它希望以 request
和 response
的形式传递给对象 Express.js用一个JSON中间件就可以处理了。为此,您需要安装 Express.js 库,然后开始使用以下代码收听:
const express = require('express');
const app = express();
app.use( express.json() );
app.get('/', (req, res) => exports.bitcoinInfo( req, res ));
app.listen(3000, () => console.log('App listening on port 3000!'));
感谢@Prisoner 和@Ido Green 的帮助 link 效果更好! 运行 样本的最小值我做了以下操作:
使用主文件 main.js 创建一个新的 nodejs 项目,安装 express 和 actions-on-google
mkdir googleActionServer
cd googleActionServer
npm init
npm install --save actions-on-google
npm install --save express`
从 google 复制 index.js 并将其放入 main.js
const express = require('express');
const bitcoinInfo = require("./index");
const app = express();
app.use( express.json() );
app.post('/', (req, res) => bitcoinInfo.bitcoinInfo( req, res ));
app.listen(3000, () => console.log('App listening on port 3000!'));
通过 运行ning 启动应用程序:
node ./main.js
要使用 DialogFlow 进行测试,请将 ngrok 下载并安装到 /usr/local/bin for ex,然后 运行:
ngrok http 3000
Ngrok 会给你一个可以从外部访问的 url,并将请求转发到 nodejs 应用程序。它还会为您创建一个 https,因此将 https 地址复制粘贴到 DialogFlow webhook 地址中,您就可以开始了
我正在尝试在我自己的服务器上 运行 google 助手示例 webhook nodejs 应用程序 (index.js),但不知道什么是虚拟主机设置。 . https://codelabs.developers.google.com/codelabs/your-first-action-on-google-with-webhook/#2
我服务器上运行这个应用程序的环境是什么?由于它不是 运行ning 作为监听服务器,我不能使用 nginx,node_cgi 与 apache 不成熟,我应该如何 运行 这个示例?
非常好,您应该确保在页面上提交错误请求以表明它不清楚。
所提供的代码旨在 运行 使用 Google Cloud Functions。
这并不意味着您不能 运行 它在您自己的服务器上 - 只是您需要知道如何 运行 您的 Apache 之外的 Node.js 服务器或Nginx 环境。我见过很多配置,但通常你会有 Node.js 服务器应用程序 运行ning 并监听本地端口,并在特定路径的面向外部的 Web 服务器之间有一个代理和这个端口。
但在这种情况下,即使这样还不够 - 代码本身不在端口上侦听 - 它希望以 request
和 response
的形式传递给对象 Express.js用一个JSON中间件就可以处理了。为此,您需要安装 Express.js 库,然后开始使用以下代码收听:
const express = require('express');
const app = express();
app.use( express.json() );
app.get('/', (req, res) => exports.bitcoinInfo( req, res ));
app.listen(3000, () => console.log('App listening on port 3000!'));
感谢@Prisoner 和@Ido Green 的帮助 link 效果更好! 运行 样本的最小值我做了以下操作:
使用主文件 main.js 创建一个新的 nodejs 项目,安装 express 和 actions-on-google
mkdir googleActionServer
cd googleActionServer
npm init
npm install --save actions-on-google
npm install --save express`
从 google 复制 index.js 并将其放入 main.js
const express = require('express');
const bitcoinInfo = require("./index");
const app = express();
app.use( express.json() );
app.post('/', (req, res) => bitcoinInfo.bitcoinInfo( req, res ));
app.listen(3000, () => console.log('App listening on port 3000!'));
通过 运行ning 启动应用程序:
node ./main.js
要使用 DialogFlow 进行测试,请将 ngrok 下载并安装到 /usr/local/bin for ex,然后 运行:
ngrok http 3000
Ngrok 会给你一个可以从外部访问的 url,并将请求转发到 nodejs 应用程序。它还会为您创建一个 https,因此将 https 地址复制粘贴到 DialogFlow webhook 地址中,您就可以开始了