我不明白您应该如何保存数据。 我尝试使用
let conv = agent.conv()
conv.data.data1=mydata //to save
mydata = conv.data.data1 //to load
agent.add(conv)
但是它使我的应用程序崩溃。 我看到您可以输入信息
var token = JSON.stringify(request.body.originalDetectIntentRequest.payload.conversation.conversationToken);
但是如何将数据放入响应中的sessionToken中?
您的方法是什么?谢谢
答案 0 :(得分:8)
使用输出上下文保存参数
let param1 = [];
let param2 = {};
let ctx = {'name': '<context name>', 'lifespan': 5, 'parameters': {'param1':param1, 'param2': param2}};
agent.setContext(ctx);
如果您使用的是NodeJS client
您可以使用类似参数的上下文来保存
let params = agent.getContext("<context name>").parameters;
let param1 = params.param1;
let param2 = params.param2;
并得到它
Index.html
您可以存储数组,JSON obj,但是响应可以保存的总有效负载是有限的。检查更多详细信息here。对于大数据,请使用DB。
此外,如果您使用的是独立的Google行动,则只需将键值对添加到数据对象即可。看到link他们存储计数的地方
答案 1 :(得分:0)
此外,如果您想根据需要标记这些参数并使用广告位填充,则会在实现期间自动生成您的输出上下文。您可以通过以下基本示例查看此内容:https://github.com/dialogflow/fulfillment-slot-filling-nodejs