根据google dialogflow cx文档:https ://cloud.google.com/dialogflow/cx/docs/concept/parameter https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/QueryParameters
点击显示参考 我知道我们可以使用 api 来设置会话参数。所以我想通过 API 方式将参数传递给 webhook。
Step 1:前端,使用detectintent() API,填写queryParams项。
第二步:Google dialogflow cx server 将参数设置为会话参数。
第三步:Webhook接收google端的函数调用。我们可以从http请求中找到所有的会话参数。
就我而言,我只能接收 DialogFlow Agent 中设置的变量,但我没有收到通过 detectintent() API 设置的任何参数。我想我一定是做错了什么,谁能告诉我怎么做?谢谢。
我的代码如下(Nodejs代码):
const sessionPath = client.projectLocationAgentSessionPath(
projectId,
location,
agentId,
sessionId
);
var mapParameters = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
const request = {
session: sessionPath,
"queryInput": {
"text": {
"text": query,
},
languageCode,
},
'queryParams': {
'timeZone': 'America/Los_Angeles',
'parameters': {
"fields":mapParameters
}
},
};
const [response] = await client.detectIntent(request);