只有当您还没有基本权限时,才提示您输入Facebook权限



我使用Facebook Javascript SDK在应用程序上设置了Facebook身份验证。我目前没有请求电子邮件权限。我想提示用户获得电子邮件权限,但仅限于尚未授予我的网站基本权限的用户。

是否有一种方法可以在他们没有授予我的应用程序基本权限的情况下提示电子邮件权限?

如果可能的话,我希望能够在没有多个权限弹出窗口的情况下做到这一点。

只是想看看我是否理解正确,你的意思是,对于目前没有授权你的应用程序的用户,当你要求他们登录时,你想请求他们的电子邮件权限,而对于已经授权的用户,没有更改,对吧?

如果是这样的话,像这样的东西就可以了,把它插入你的FB.init之后,或者点击按钮,或者你现在正在进行FB登录的任何地方:

FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        // log the user into your site using FB.getAccessToken() or do whatever you normally do.
    } 
    else if (response.status === 'not_authorized') {
        // ask the user for permissions
        FB.login(function(response) {
            // handle response
        }, {scope: 'email'});
    }
});

注意:如果用户当前未登录Facebook,并且您的应用程序已获得授权,这将不会有任何作用。要使其不这样做,您必须将其他应用程序替换为普通的其他应用程序,但当老用户登录时,它会向他们显示"请求电子邮件权限"弹出窗口。

最新更新