如何从 DialogFlowV2 webhook 发送不同的语音和显示文本?

How to send different speech & display text from DialogFlowV2 webhook?

我最近从 DialogFlowV1 更新到 DialogFlowV2

我看到 V2 中的 displayTextspeech 参数没有不同。

如何从 webhook fulfillment 发送不同的 speechdisplayText 参数,以便我可以使用 DialogFlow Android 客户端使用这些值。

从我从 V1 升级到 V2 那天起,我看到 displayText 参数在 Android 的 ai.api.sdk 中返回 null

这是我从我的 webhook 发送的履行响应

{
  "fulfillmentText": "My FulfillmentText",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "Sample response 1",
          "Sample response 2"
        ]
      }
    }
  ]
}

我必须对上述响应结构进行哪些更改?

您需要在 fulfillmentText 中传递 speech 文本,在 v2 api 中传递 fulfillmentMessages 中的 displayText

{
  "fulfillmentText": "This will be speech.",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "This will be text to be displayed on screen."
        ]
      }
    }
  ]
}

如果您不通过 webhook 传递 fulfillmentMessages,则 fulfillmentText 将显示在屏幕上。

响应的基本结构在 this page 上给出。

要发送的示例代码 (python) fulfillmentText:

import json
req = req_you_get_from_webhook_call
res = json.dumps({
        'fulfillmentText': 'response from the webhook',
    })
return res