我使用Facebook Javascript SDK在我的应用程序上设置了Facebook身份验证。我目前不要求电子邮件许可。我想提示用户提供电子邮件权限,但仅限于尚未向我的网站授予基本权限的用户。
有没有办法在他们没有给我的应用程序提供基本权限的情况下提示电子邮件权限?
如果可能的话,我希望能够在没有多个权限弹出窗口的情况下执行此操作。
答案 0 :(得分:1)
只是为了了解我是否理解正确,您的意思是对于目前没有授权您的应用程序的用户,您想要在他们要求他们登录时要求他们的电子邮件许可,以及对于有您的用户授权,没有变化,对吗?
如果是这样的话,这样的话可以解决问题,在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并且您的应用程序已获得授权,这将无效,为了使其无法执行此操作,您将不得不替换其他如果只是一般的其他人,但它会在老用户登录时显示“请求电子邮件权限”弹出窗口。