使用“ Google上的动作” Nodejs lib v2的Google动作甚至无法创建简单的响应

时间:2019-01-09 07:11:44

标签: actions-on-google

我正在将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并得到类似的错误。我究竟做错了什么?谢谢

1 个答案:

答案 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。