- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 google dialogflow cx 文档:https://cloud.google.com/dialogflow/cx/docs/concept/parameter https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/QueryParameters
click to show the reference我知道我们可以使用 api 来设置 session 参数。所以我想通过API方式将参数传递给webhook。
第一步:前端,使用detectintent()接口(interface),填写queryParams项。
第二步:Google dialogflow cx server 将参数设置为 session 参数。
第三步:Webhook接收到google端的函数调用。我们可以从http请求中找到所有的session参数。
就我而言,我只能收到在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);
最佳答案
问题已经解决。它需要被序列化/转换。
因此对于文档中提到的参数类型,需要将其作为“结构”发送到DialogFlow。
根据您的协议(protocol)或客户端库语言,这是一个映射、关联数组、符号表、字典或由 (MapKey, MapValue) 对集合组成的 JSON 对象:
正确的结构如下所示:
{
session: 'projects/xxxxx...........',
queryInput: {
text: { text: 'hello world!' },
languageCode: 'en'
},
queryParams: {
timeZone: 'America/Los_Angeles',
parameters: {
fields: {
ID: { kind: 'numberValue', numberValue: 5 },
Email: { kind: 'stringValue', stringValue: 'xxxxx@gmail.com' },
Phone: { kind: 'stringValue', stringValue: '7789511xxx' },
Domain: { kind: 'stringValue', stringValue: 'xxxxxx.com' }
}
}
}
}
关于dialogflow-es - 如何使用Dialogflow CX API传递参数给webhook?好像detectIntent() set session queryParams 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66326029/
我正在使用 Dialogflow C# 库 Google.Cloud.Dialogflow.V2 与我的 Dialogflow 代理通信。 使用 DetectIntentAsync() 发送 Text
在阅读了数小时的文档和资源后,我请求您的帮助。 我在 API V2 项目“xxx1”上有一个对话流代理 我为“xxx1”创建了一个服务帐户并附加了角色“Dialogflow API Client” 我
我在 Node DialogFlow API 集成方面遇到问题。 尽管我已遵循所有可能的文档,但我没有必要的权限来调用 API。 这是我在 Dialogflow 管理中的代理服务帐户: 然后是服务帐户
PermissionDenied:拒绝了“projects/XXXX-live/agent”上的403 IAM权限“dialogflow.sessions.detectIntent”。 创建服务时,我
我是一名优秀的程序员,十分优秀!