dav*_*eij 2 node.js actions-on-google dialogflow-es
与DialogFlow V2用户ID类似?我使用来自conv.user.id(dialogflow v2)的用户ID来(匿名)确定我的Dialogflow应用程序中的用户.但是,我收到了日志消息:
conv.user.id is *DEPRECATED*: Use conv.user.storage to store data instead
Run Code Online (Sandbox Code Playgroud)
这是否意味着我(很快)将无法再访问用户ID?我知道我可以在conv.user.storage中存储数据,但我需要id - 而不是存储.
有关如何安全失败的想法吗?
//代码片段:
app.intent('Default Welcome Intent', conv => {
var userID = conv.user.id;
// do something
});
Run Code Online (Sandbox Code Playgroud)
匿名用户身份已被弃用,将于2019年6月1日(一年后)正式删除.因此,您的代码段将失败.
修复程序取决于您使用id的确切方式和原因,但是对于最基本的需求,您可以执行以下操作:
检查您是否在userStore中存储了一个id.如果你有 - 使用此ID.
如果还没有,生成一个id(生成UUID是一个很好的方法),使用它作为你的id,并将其存储在userStore中以供将来参考.
执行此操作的代码可能如下所示:
if ('userId' in conv.user.storage) {
userId = conv.user.storage.userId;
} else {
// generateUUID is your function to generate ids.
userId = generateUUID();
conv.user.storage.userId = userId
}
Run Code Online (Sandbox Code Playgroud)
或者,您可能希望只是计划使用Google Sign-In for the Assistant来获取Google UserID.
编辑: 条件中的userId应该被引用.
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |