简体   繁体   English

如何通过dialogflow将其他参数从nodejs客户端传递到webhook?

[英]How to pass additional parameters from the nodejs client to webhook via dialogflow?

Actually I want to pass some additional parameters such as username, user ID to webhook but I am not able to do this. 实际上,我想将一些其他参数(例如用户名,用户ID)传递给webhook,但我无法执行此操作。

I am using detectIntent() method of sessionClient. 我正在使用sessionClient的detectIntent()方法。 Following are request: 以下是要求:

function detectEventIntent(projectId, sessionId, eventName, languageCode) {

  // Imports the Dialogflow library
  const dialogflow = require('dialogflow');

  // Instantiates a sessison client
  const sessionClient = new dialogflow.SessionsClient();

  // The path to identify the agent that owns the created intent.
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  // The text query request.
  const request = {
      session: sessionPath,
      queryInput: {
        text: {
          text: query,
          languageCode: languageCode,
        },
      },
      queryParams:{
         payload: {
            data:{
             username: 'gaurav',
             userId: usr1
            }
         }
     }
  };

  sessionClient
    .detectIntent(request)
    .then(responses => {
      console.log('Detected intent');

      logQueryResult(sessionClient, responses[0].queryResult);
    })

    .catch(err => {
      console.error('ERROR:', err);
    });

}

There are differences in passing some additional parameters such as username, user ID in dialogFlow V1 and dialogFlow V2. 在传递一些其他参数(例如,用户名,dialogFlow V1和dialogFlow V2中的用户ID)方面存在差异。 In dialogFlow V1 its relatively hard to pass additional parameters whereas in dialogFlow V2 one can easily pass user ID, project ID. 在dialogFlow V1中,相对难以传递其他参数,而在dialogFlow V2中,可以轻松传递用户ID,项目ID。 Just give additional functions in the dialogFlow after 之后只需在dialogFlow中提供其他功能

const dialogflow = require('dialogflow');

Just give as:- 只要给:-

let projectId = 'Name as you like';
let sessionId = ' As you Like ';
let dialogflow = require('dialogflow');
let config = {
  credentials: {
    private_key: "....Your Key.....",
    client_email: "....Your Service Account mail...."
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM