我是一个使用nodejs google动作库尝试编写我的第一个google助手webhook的菜鸟。 当我使用curl命令部署和访问我的服务时,我无法从dialogFlow调用它 - >整合 - > GoogleAssistant - >测试控制台。
此外,请注意我还没有使用谷歌云功能或heroku进行部署。我安装了裂变Serverless functions for kubernetes的GKE。 webhook是一种裂变功能
我尝试做的一些细节:
- 在我的dialogFlow应用中,我尝试添加与此帖中提到的完全相同的意图,操作:https://developers.google.com/actions/dialogflow/first-app
- intents,fulfillment,integration和testing的PFA截屏。
- 在测试屏幕截图中,在应用程序询问我的幸运号后,它应该继续前进并询问我最喜欢的颜色,但它不会这样做。
- 此外,我的kubernetes集群上的函数根本没有被调用。
醇>
我的代码粘贴在下面,该函数是对这篇文章https://developers.google.com/actions/dialogflow/first-app
中index.js的一个非常小的修改。'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);
}
关于如何调试这个的任何输入/指针都会非常有用。
感谢。
答案 0 :(得分:-2)
在使用WebDemo UI发布一些文本后,我遇到了同样的问题。谷歌助手开始使用完全相同的文本。我不知道如何解决它。但似乎是它的集成错误,或谷歌助手意图检测的阈值问题