此刻,我正在做一个关于假期的建议对话。我们在 firestore 中创建了一个提要,其中包含所有可能的假期,包括优惠的 URL。我们构建的函数在 firestore 中搜索产品/服务,然后将 URL 提供回 Dialogflow,以便将其发送给客户。
在履行中,我设置了以下响应:
"followupEventInput": {
"languageCode": "nl",
"name": "Query-Result"
},
"parameters": [
{
"url": "$urlvalue"
}
]
}
在堆栈驱动程序中,我看到提供的响应中确实有一个 url 值:
{
insertId: "bdzlmdg1foc8wt"
labels: {…}
logName: "projects/vakantiesnl-dev/logs/dialogflow_agent"
receiveTimestamp: "2020-05-14T09:17:51.034607137Z"
resource: {…}
severity: "INFO"
textPayload: "Dialogflow fulfillment response : {"followupEventInput":{"languageCode":"nl","name":"Query-Result"},"parameters":[{"url":"https://www.vakanties.nl/griekenland/kreta/malia/real-palace?departure=28-08-2020&flexibleDeparture=False&hotelId=229003&offer=28-08-2020|8|RTM|HER|GT06-AO|STSD00000PSC|STSD00000P|VAKNLB2C|0"}]}
"
timestamp: "2020-05-14T09:17:51.019Z"
trace: "944e1df4-5f91-4766-94dd-6cd4c47edbf7"
}
但是,对话流不会将参数值检索到对话中。在意图中,我按如下方式设置参数:
查看在对话流的意向中设置的参数的屏幕截图
在堆栈驱动程序中,我看到 URL 的值确实为空
key: "url"
value {
string_value: ""
}
}
我的问题我需要做什么才能检索对话中的 url 值?
提前非常感谢!
您似乎正在将参数设置为具有事件集的 Intent 的一部分。这不是必需的,您可以使用#parameterName
语法直接访问响应中的事件参数。
但是,一般来说,您也可以直接使用履行来发回响应 - 您不需要转发到事件意图只是为了发送响应。