我正在将Google动作与sdk一起使用。后端是一个NodeJS环境,我正在使用该库(google-actions)。
我使用以下方法进行了基础对话:
gapp.intent('actions.intent.MAIN', (conv, input) => {
conv.ask('Welcome. What would you like to do today?');
});
但是,当我尝试使用任何丰富的响应(包括simpleResponse)时,都会出错
conv.ask(new SimpleResponse({
speech: 'Howdy, this is GeekNum. I can tell you fun facts about almost any number, my favorite is 42. What number do you have in mind?',
text: 'Howdy! I can tell you fun facts about almost any number. What do you have in mind?',
}));
这将导致错误:SimpleResponse is not defined
。我什至尝试使用BasicCard并得到类似的错误。我究竟做错了什么?谢谢
答案 0 :(得分:1)
我发布的错误是为了防止其他人也遇到它。
server.js
(使用快递)以前是
const {actionssdk} = require('actions-on-google');
const gapp = actionssdk({debug: true});
将实现路径设置为
require('./gapp.js')(gapp); // a separate file gapp.js for the code
app.post('/fulfilment', gapp);
阅读actions-on-google
npm的文档时,我注意到已提到必须实例化每个所需的服务和包装。因此,执行以下操作
const {actionssdk, SimpleResponse} = require('actions-on-google');
const gapp = actionssdk({debug: true});
...
require('./gapp.js')(gapp, SimpleResponse); // a separate file gapp.js for the code
app.post('/fulfilment', gapp);
现在gapp模块可以访问SimpleResponse。