【发布时间】:2018-05-15 00:06:27
【问题描述】:
我正在尝试向 dialogflow (api.ai) 发送一些参数,例如用户名、电子邮件等,但我无法弄清楚。问题是我无法使用 Dialogflow v2 Nodejs SDK 获取/设置任何特定数据(例如用户名、电子邮件等)。我尝试使用 queryParams.payload (v1: originalRequest) 但它没有以某种方式工作。此外,我尝试使用数据触发 自定义事件,但我无法在响应中获取任何事件数据。有人知道如何为 dialogFlow 上的会话发送一些特定数据吗?
有效负载示例
const projectId = 'test-bot-test-1111';
const sessionId = user.uuid;
const languageCode = 'en-GB';
const sessionClient = new dialogFlow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode
}
},
queryParams: {
payload: {
data: {
username: 'bob',
email: 'bob@test.com'
}
}
}
};
let resultReq;
console.log('request :: ', request, '\n\n');
try {
resultReq = await sessionClient.detectIntent(request);
} catch (err) {
// eslint-disable-next-line no-console
return console.error('ERROR:', err);
}
事件示例
const projectId = 'test-bot-test-1111';
const sessionId = user.uuid;
const languageCode = 'en-GB';
const sessionClient = new dialogFlow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
const request = {
session: sessionPath,
queryInput: {
event: {
name: 'custom_event',
languageCode,
parameters: {
name: 'sam',
user_name: 'sam',
a: 'saaaa'
}
}
},
queryParams: {
payload: {
data: user
}
}
};
let resultReq;
console.log('request :: ', request, '\n\n');
try {
resultReq = await sessionClient.detectIntent(request);
} catch (err) {
// eslint-disable-next-line no-console
return console.error('ERROR:', err);
}
【问题讨论】:
标签: node.js sdk dialogflow-es