如何解决Dialogflow Messenger CX 拦截并添加 queryParams 到 responseBody
我想拦截来自 dialogflow messenger CX 的请求并通过 queryParams 向 responseBody 添加参数,我已阅读文档但不清楚如何使用 javascript 事件添加新参数。我知道有一个名为 df-request-sent
的事件,但文档没有显示如何在事件中发送新参数。我搜索过类似的问题,但没有找到相关信息。
我正在使用下一个文档:https://cloud.google.com/dialogflow/cx/docs/concept/integration/dialogflow-messenger#df-request-sent
代码是:
const dfMessenger = document.querySelector('df-messenger')
dfMessenger.addEventListener('df-request-sent',function (event) {
console.log(event)
// how to send the new parameters?
})
我曾尝试更改 event.detail 的值,但没有奏效。
有人知道怎么做吗?
感谢您的帮助。
解决方法
遗憾的是,无法在 Dialogflow Messenger 事件的 df-request-sent 的 queryParams 上添加参数。请注意,当向 Dialogflow API 发出请求时会发生此事件,我们无法编辑事件结构,因为这取决于 Dialogflow Messenger 的 detectIntent 请求。
作为一种解决方法,您可以使用自定义集成。您可以利用 Dialogflow CX 的 Client Libraries、REST API 或 RPC API 创建自己的实现/集成。然后,您可以在 detectIntent 请求中添加参数。
以下是detectIntent请求正文的示例:
{
"queryInput": {
"text": {
"text": "Hi"
},"languageCode": "en"
},"queryParams": {
"timeZone": "America/Los_Angeles","parameters": {
//set your parameters here
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。