Actions on google dialogflow-my fulfillment webhook在测试时不会收到post请求;谷歌助手集成“;

Actions on google dialogflow-my fulfillment webhook在测试时不会收到post请求;谷歌助手集成“;,actions-on-google,dialogflow-es,Actions On Google,Dialogflow Es,我是一个试图使用nodejs谷歌操作库编写我的第一个谷歌助手webhook的noob。 虽然我使用curl命令部署并访问了我的服务,但我无法从dialogFlow->integrations->GoogleAssistant->Test console调用它 另外,请注意,我还没有使用谷歌云功能或heroku进行部署。我有一个装有裂变装置的GKE。webhook是一个裂变函数 我尝试做的一些细节: 在我的dialogFlow应用程序中,我尝试添加与本文中提到的完全相同的意图和操作: 和的PFA屏

我是一个试图使用nodejs谷歌操作库编写我的第一个谷歌助手webhook的noob。 虽然我使用curl命令部署并访问了我的服务,但我无法从dialogFlow->integrations->GoogleAssistant->Test console调用它

另外,请注意,我还没有使用谷歌云功能或heroku进行部署。我有一个装有裂变装置的GKE。webhook是一个裂变函数

我尝试做的一些细节:

  • 在我的dialogFlow应用程序中,我尝试添加与本文中提到的完全相同的意图和操作:
  • 和的PFA屏幕截图
  • 从测试屏幕截图来看,在应用程序询问我的幸运号码后,它应该继续询问我最喜欢的颜色,但它没有这样做
  • 此外,我在kubernetes集群上的函数根本没有被调用
  • 我的代码(粘贴在下面)是对本文中index.js的一个非常小的修改

    任何关于如何调试的输入/指针都将非常有益


    谢谢。

    在使用WebDemo UI发布了一些文本后,我也遇到了同样的问题。谷歌助手开始使用完全相同的文本。我不知道如何修复它。但似乎它的集成缺陷,或者Google assistant的意向检测阈值问题

    能否请您用更多信息更新您的问题,了解您是如何尝试这样做的,以及您看到了什么?测试控制台的屏幕截图显示您尝试发送的内容、错误和调试选项卡将非常有用。也可能是您认为应该触发的Dialogflow意图的屏幕截图?完成,感谢您的快速响应。首先,使用rest控制台从不在您域中的其他计算机上测试您的webhook URL。可能存在防火墙问题,或者您的webhook没有正确地暴露在internet上。实际上,我可以使用DialogFlow的WebDemo UI测试我的webhook。它工作得很好。但是,无法测试google assistant与它的集成。似乎问题更多地与意图触发有关,而不是您的webhook。几个调试步骤:1)确保Dialogflow中的闲聊已关闭,2)尝试只说“23”而不是“我的幸运号码是…”,因为这将提高$number参数的语音识别能力OK,但这并不是问题的答案。考虑留下评论。
    '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);
    }