Dialogflow es 使用输出上下文响应操作特定上下文
我目前正在尝试使用webhook响应更改我的一个上下文的特定值,根据我所做的,以下内容应该可以工作:Dialogflow es 使用输出上下文响应操作特定上下文,dialogflow-es,actions-on-google,dialogflow-es-fulfillment,Dialogflow Es,Actions On Google,Dialogflow Es Fulfillment,我目前正在尝试使用webhook响应更改我的一个上下文的特定值,根据我所做的,以下内容应该可以工作: { "fulfillmentText": ${textToSpeech}, "fulfillmentMessages": [{ "text": { "text": [${text}] } }], "payload": { "google": {
{
"fulfillmentText": ${textToSpeech},
"fulfillmentMessages": [{ "text": { "text": [${text}] } }],
"payload": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": ${textToSpeech},
"displayText": ${text}
}
}
],
"suggestions": ${suggestions},
"linkOutSuggestion": {
"destinationName": "Feedback",
"url": ${feedbackURL}
}
}
}
},
"outputContexts": [
{
"name": "projects/${projectID}/agent/sessions/${conversationID}/contexts/${context}",
"lifespanCount": 15,
"parameters": {
"param":"value"
}
}]
}
但是,这不会更改该上下文中指定的任何参数。我是否做得不正确,或者是否有更好的方法使用webhook响应更改输出上下文的参数?您可能需要检查传入上下文的命名方式 姓名可以有:
projects//agent/sessions//context/
projects//agent/environments//users//sessions//context//
/contexts/
之前的部分应该与中提供的完整会话字符串匹配,您猜,该字符串与以下两种模式之一匹配:
projects//agent/sessions/
projects//agent/environments//users//sessions//
- 刚刚设法解决了这个问题。
我没有尝试创建自己的输出上下文,而是操作了
req.body.queryResult.outputContexts
中的值
例如:
req.body.queryResult.outputContexts[0]。参数。param=“value”
然后用原始outputContext发送响应
{
"fulfillmentText": ${textToSpeech},
"fulfillmentMessages": [{ "text": { "text": [${text}] } }],
"payload": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": ${textToSpeech},
"displayText": ${text}
}
}
],
"suggestions": ${suggestions},
"linkOutSuggestion": {
"destinationName": "Feedback",
"url": ${feedbackURL}
}
}
}
},
"outputContexts": ${req.body.queryResult.outputContexts}
}
谢谢你的资源。我使用的是第一种方法,但仍然不确定实际问题是什么,但我的修复似乎有效,所以它很好。