javascript - 为 Google 助理使用 Actions SDK
问题描述
我正在尝试在我自己的服务器中使用 Actions SDK,我所做的操作显示在 Google Assistant 中,但它不起作用,助手只是关闭而没有显示任何错误。这是我的代码:
'use strict';
const express = require('express');
const bodyParser = require('body-parser');
var exps = express();
exps.use(bodyParser.json());
const {actionssdk} = require('actions-on-google');
const app = actionssdk({debug: true});
const asyncTask = () => new Promise(
resolve => setTimeout(resolve, 1000)
);
exps.post('/', function(request, response) {
app.intent('actions.intent.MAIN', (conv) => {
return asyncTask()
.then(() => conv.ask('Hi, this is a test!'));
});
});
express().use(bodyParser.json(), app).listen(3000);
请求和调试选项卡错误和响应都是空的。
解决方案
我认为问题在于您正在创建两个不同的快递对象。一个安装在“/”路径上,但未设置为侦听任何端口。另一个侦听端口,但没有设置任何路径供其处理。
将您的侦听器线路更改为
exps.use(bodyParser.json(), app).listen(3000);
将使您设置“/”路径的快速对象也将成为侦听端口的对象。
您的 webhook 似乎也在“/”路径上侦听,但您已在 actions.json 文件中指定 webhook 使用“/node/”路径。(阅读屏幕截图有点困难 - 这就是我们要求您发布文本而不是屏幕截图的原因。)如果您将 webhook 更改为收听“/node/”或将 actions.json 文件更改为使用'/',它应该工作。
推荐阅读
- ios - Gem::Ext::BuildError: 错误: 无法在 mac 上构建 gem 原生扩展。无法安装racc
- powerquery - Power Query 将链接列表转换为交叉点网格
- r - 如何按参与者人数和时间点将交错数据折叠到 R 中的一行?
- java - 如何在 Python 中使用 JPype jproxy 将 Java 模板实现为接口参数
- html - 在 React 表单中设置密码文本字段的大小时遇到问题
- android - Android Gradle 插件问题:将 AGP 更新到 4.1.2 时 React Native 应用程序(刚刚发布)崩溃
- excel - Excel - 根据另一个表有条件地格式化一个表
- python - PyCharm 多文件观察器输出
- php - 如何修复 Laravel 中的错误。'试图获得非对象的财产国家'
- android - 如何获得授予 Android 上已安装应用程序的权限?