查询模式缺少错误

时间:2018-06-05 07:01:19

标签: firebase actions-on-google dialogflow

我创建了一个意图" Test Intent",我创建了一个firebase功能。在动作模拟器中,我尝试了#34;与我的测试App" ,它调用了firebase函数,并在Welcome Intent" Welcome to my dialogFlow agent中返回了内容!"

然后我输入了"测试",我从默认的后备意图得到内容"对不起,我没有得到它。" 。   如果我尝试集成,我收到错误,因为"请求包含无效的参数。 自定义意图缺少查询模式'测试意图'"  如何修复错误?  如何让它调用测试意图? index.js中的内容是

 /* See https: github.com/dialogflow/dialogflow-fulfillment-nodejs
  for Dialogflow fulfillment library docs, samples, and to report issues*/
'use strict';

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');

process.env.DEBUG = 'dialogflow:debug';   //enables lib debugging statements

exports.dialogflowSample = functions.https.onRequest((request, response) => {
 const agent = new WebhookClient({ request, response });
 console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
 console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

 function welcome(agent) {
   agent.add(`Welcome to my dialogFlow agent!`);
 }

 function fallback(agent) {
   agent.add(`I didn't understand`);
   agent.add(`I'm sorry, can you try again?`);
}

 /*    Uncomment and edit to make your own intent handler
     uncomment `intentMap.set('your intent name here', yourFunctionHandler);`
     below to get this function to be run when a Dialogflow intent is matched*/
  function yourFunctionHandler(agent) {
    agent.add(`This message is from Dialogflow's Cloud Functions for Firebase editor!`);
    agent.add(new Card({
        title: `Title: this is a card title`,
       // imageUrl: 'https: developers.google.com/actions/images/badges/XPM_BADGING_GoogleAssistant_VER.png',
        text: `This is the body text of a card.  You can even use line\n  breaks and emoji! `,
         buttonText: 'This is a button',
         buttonUrl: 'https: assistant.google.com/'
       })
     );
     agent.add(new Suggestion(`Quick Reply`));
     agent.add(new Suggestion(`Suggestion`));
     agent.setContext({ name: 'weather', lifespan: 2, parameters: { city: 'Rome' }});
   }

 /*    Uncomment and edit to make your own Google Assistant intent handler
     uncomment `intentMap.set('your intent name here', googleAssistantHandler);`
     below to get this function to be run when a Dialogflow intent is matched*/
   function googleAssistantHandler(agent) {
     let conv = agent.conv();  // Get Actions on Google library conv instance
     conv.ask('Hello from the Actions on Google client library!')  // Use Actions on Google library
     agent.add(conv);   //Add Actions on Google library responses to your agent's response
   }
  /*   See https: github.com/dialogflow/dialogflow-fulfillment-nodejs/tree/master/samples/actions-on-google
     for a complete Dialogflow fulfillment library Actions on Google client library v2 integration sample

   Run the proper function handler based on the matched Dialogflow intent name*/
 let intentMap = new Map();
 intentMap.set('Default Welcome Intent', welcome);
 //intentMap.set('Default Fallback Intent', fallback);
 intentMap.set('Test Intent', fallback);
 intentMap.set('your intent name here', googleAssistantHandler);
 agent.handleRequest(intentMap);
});

0 个答案:

没有答案