Dialogflow es 为什么永久性存储在我的google action中不起作用?
我正在尝试跨会话存储一个UserId,如下所示: 以下是我的代码实现:Dialogflow es 为什么永久性存储在我的google action中不起作用?,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我正在尝试跨会话存储一个UserId,如下所示: 以下是我的代码实现: 'use strict'; const { dialogflow } = require("actions-on-google"); const functions = require("firebase-functions"); const app = dialogflow(); app.intent('Default Welcome Intent', (conv) => { conv.user.stora
'use strict';
const { dialogflow } = require("actions-on-google");
const functions = require("firebase-functions");
const app = dialogflow();
app.intent('Default Welcome Intent', (conv) => {
conv.user.storage.userId = "bananas";
console.log("Logging the conversation object... ");
console.log(JSON.stringify(conv));
conv.close("Goodbye! ");
});
exports.yourAction = functions.https.onRequest(app);
当我通过我的Google home hub调用该操作时,它将正确设置我的用户存储数据:
"user": {
"raw": {
"locale": "en-US",
"lastSeen": "2020-02-12T14:28:49Z",
"userVerificationStatus": "VERIFIED"
},
"storage": {
"userId": "bananas"
},
"locale": "en-US",
"verification": "VERIFIED",
"permissions": [],
"last": {
"seen": "2020-02-12T14:28:49.000Z"
},
"name": {},
"entitlements": [],
"access": {},
"profile": {}
},
但是,当我注释掉代码中的存储分配并重新调用该操作时,用户存储的内容不再存在:
"user": {
"raw": {
"locale": "en-US",
"lastSeen": "2020-02-12T14:31:30Z",
"userVerificationStatus": "VERIFIED"
},
"storage": {},
"locale": "en-US",
"verification": "VERIFIED",
"permissions": [],
"last": {
"seen": "2020-02-12T14:31:30.000Z"
},
"name": {},
"entitlements": [],
"access": {},
"profile": {}
},
我可以看出我的验证是“已验证”的,所以不可能是那个问题。我在本文档中注意到,如果出现以下情况,userStorage将被清除:
- 已设置语音匹配,但没有匹配李>
- 用户禁用了个人数据
因此,也许这是其中之一,但我不知道我可以在哪里检查 固定。我没有启用chrome历史记录设置!此线程将详细介绍:
这是GSuite帐户吗?我以前从未使用过这项服务!我的账号是@gmail.com这能回答你的问题吗?就这样,谢谢!您知道我们是否有办法在会话期间检测到这一点吗?