Gru*_*ixx 0 firebase dialogflow-es
我不明白你应该如何保存数据.我试过用
let conv = agent.conv()
conv.data.data1=mydata //to save
mydata = conv.data.data1 //to load
agent.add(conv)
Run Code Online (Sandbox Code Playgroud)
但它崩溃我的应用程序.我看到你可以放入信息了
var token = JSON.stringify(request.body.originalDetectIntentRequest.payload.conversation.conversationToken);
Run Code Online (Sandbox Code Playgroud)
但是如何在响应中将数据放入conversationToken?
你的方法是什么?谢谢
使用输出上下文保存参数
{
"fulfillmentText":"This is a text response",
"fulfillmentMessages":[ ],
"source":"example.com",
"payload":{
"google":{ },
"facebook":{ },
"slack":{ }
},
"outputContexts":[
{
"name":"<Context Name>",
"lifespanCount":5,
"parameters":{
"<param name>":"<param value>"
}
}
],
"followupEventInput":{ }
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是NodeJS客户端
您可以使用参数保存上下文
let param1 = [];
let param2 = {};
let ctx = {'name': '<context name>', 'lifespan': 5, 'parameters': {'param1':param1, 'param2': param2}};
agent.setContext(ctx);
Run Code Online (Sandbox Code Playgroud)
得到它
let params = agent.getContext("<context name>").parameters;
let param1 = params.param1;
let param2 = params.param2;
Run Code Online (Sandbox Code Playgroud)
您可以存储数组,JSON obj,但响应可以保存的总有效负载有限制.在这里查看更多细节.对于大数据,请使用DB.
此外,如果您使用google上的独立操作,则只需将键值对添加到数据对象即可.查看他们存储计数的链接
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |