【问题标题】:Dialogflow Messenger CX intercept and add queryParams to responseBodyDialogflow Messenger CX 拦截并将 queryParams 添加到 responseBody
【发布时间】:2021-05-20 23:55:17
【问题描述】:

我想拦截来自 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 的值,但没有成功。

有人知道怎么做吗?

感谢您的帮助。

【问题讨论】:

    标签: javascript google-cloud-platform dialogflow-es dialogflow-es-fulfillment dialogflow-cx


    【解决方案1】:

    很遗憾,无法在 Dialogflow Messenger 事件的 df-request-sent 的 queryParams 上添加参数。请注意,当向 Dialogflow API 发出请求时会发生此事件,我们无法编辑事件结构,因为这取决于 Dialogflow Messenger 的 detectIntent 请求。

    作为一种解决方法,您可以使用自定义集成。您可以利用 Dialogflow CX 的 Client LibrariesREST APIRPC API 创建自己的实现/集成。然后,您可以在 detectIntent 请求中添加参数。

    这里是一个detectIntent请求正文示例:

    {
      "queryInput": {
         "text": {
            "text": "Hi"
         },
         "languageCode": "en"
      },
      "queryParams": {
         "timeZone": "America/Los_Angeles",
         "parameters": {
             //set your parameters here
         }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-21
      • 2012-09-02
      • 2021-07-18
      • 1970-01-01
      • 2021-08-28
      • 2021-04-10
      • 1970-01-01
      • 2022-11-05
      • 1970-01-01
      相关资源
      最近更新 更多