我是一个努力尝试用nodejs google动作库编写我的第一个google助手webhook的菜鸟 . 当我使用curl命令部署和访问我的服务时,我无法从dialogFlow - >集成 - > GoogleAssistant - >测试控制台调用它 .
此外,请注意我没有使用谷歌 Cloud 功能或heroku进行部署 . 我安装了裂变Serverless functions for kubernetes的GKE . webhook是一种裂变功能
我正在尝试做的一些细节:
在我的dialogFlow应用程序中,我尝试添加完全相同的意图,操作如本文所述:https://developers.google.com/actions/dialogflow/first-app意图,实现,整合的PFA屏幕截图和测试 . 从测试屏幕截图开始,应用程序询问我的幸运数字之后,它应该继续前进并询问我最喜欢的颜色,它没有做到 . 此外,我的kubernetes集群上的函数根本没有被调用 .
我的代码粘贴在下面,对于函数来说,这篇文章是对index.js的一个非常小的修改https://developers.google.com/actions/dialogflow/first-app
'use strict';
process.env.DEBUG = 'actions-on-google:*';
const App = require('actions-on-google').DialogflowApp;
const functions = require('firebase-functions');
// a. the action name from the make_name Dialogflow intent
const NAME_ACTION = 'make_name';
// b. the parameters that are parsed from the make_name intent
const COLOR_ARGUMENT = 'color';
const NUMBER_ARGUMENT = 'number';
module.exports = async function(context) {
const app = new App({request: context.request, response: context.response});
console.log('Request headers: ' + JSON.stringify(context.request.headers));
console.log('Request body: ' + JSON.stringify(context.request.body));
// c. The function that generates the silly name
function makeName (app) {
let number = app.getArgument(NUMBER_ARGUMENT);
let color = app.getArgument(COLOR_ARGUMENT);
app.tell('Alright, your silly name is ' +
color + ' ' + number +
'! I hope you like it. See you next time.');
}
// d. build an action map, which maps intent names to functions
let actionMap = new Map();
actionMap.set(NAME_ACTION, makeName);
app.handleRequest(actionMap);
}
关于如何调试它的任何输入/指针都将是非常有益的 .
谢谢 .
1 回答
在使用WebDemo UI发布一些文本后,我遇到了同样的问题 . 谷歌助手开始使用完全相同的文本 . 我不知道如何解决它 . 但似乎是它的集成错误,或谷歌助手意图检测的阈值问题