askForPermission 如何运作?

How does askForPermission works?

我想在用户第二次访问我的应用程序时用他的名字问候他。为此,我已经实现了帐户链接,现在我想获取他的显示名称,并且对于我所阅读的内容,我需要征得他的许可才能访问此类信息,所以我按照以下代码进行操作:

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 !".replace("",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);
}

欢迎方法是从我的默认欢迎意图调用的,我确实可以看到该应用程序正在请求权限:

(是的,它在 PT-BR 中)

我没有得到的是作为用户我应该回答什么,因为回复 "sim"(是的)、"sim, você pode"(是的,你可以)或任何类似的问题一直被我默认回答回退。

主要思想是您必须请求许可,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