我想第二次访问我的应用时,用他的名字问候用户。为此,我已经实现了帐户链接,现在我想获取他的displayName,并且我已经阅读了我需要请求他获得访问此类信息的权限,所以我按照以下代码进行了操作:
welcome(app){
let welcomePhrase = "";
console.log('UserId: ' + app.getUser().userId);
if (app.isPermissionGranted()) {
console.log('--------------- Permission granted ---------------');
const displayName = app.getUserName().displayName;
welcomePhrase = "Welcome back $1!".replace("$1",displayName);
}
else{
console.log('--------------- Permission denied ---------------');
this.requestPermission(app);
welcomePhrase = "Welcome";
}
app.ask(welcomePhrase);
}
requestPermission (app) {
app.askForPermission('Can I keep one information from you?', app.SupportedPermissions.NAME);
}
从我的默认欢迎意图调用欢迎方法,我可以看到应用程序要求获得权限:
我没有得到的是我作为用户应该回答的问题,因为回复“sim”(是),“sim,vocêpode”(是的,你可以)或任何类似的东西都会被我的默认回退所回答。 / p>
答案 0 :(得分:2)
主要想法是你必须请求许可,Google会向你询问用户,你收到了回复Dialogflow的回复。
Wassim Chegham写了一篇好文章:https://medium.com/google-developer-experts/handling-permissions-with-dialogflow-and-actions-on-google-b08c8f228c00
此处有更多文档: https://developers.google.com/actions/assistant/helpers