Jui*_*ter 17

您将不知道用户在FB.login回调中授予您的应用程序的权限.您应该查询对象的permissions连接user:

FB.api('/me/permissions', function(response){
  if (response && response.data && response.data.length){
    var permissions = response.data.shift();
    if (permissions.email) {
      alert('User have granted `email` permission');
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

更新:.虽然Facebook没有声明回调FB.login不会包含perms或者scope在切换到OAuth2之前使用过的属性,但情况确实如此!在当前文档中没有说任何关于传递给回调的权限FB.login,FB.getLoginStatusFB.getAuthResponse.

还有关于此行为的错误报告,标记为"无法修复"