Facebook SDK 获取权限

Facebook SDK get permissions

我正在尝试获取 Facebook 登录名以在我的网站上运行。我是运行以下代码:

window.fbAsyncInit = function() {
            FB.init({
              appId      : '1340103676056632',
              xfbml      : true,
              version    : 'v2.8'
            });
            FB.AppEvents.logPageView();
          };

          (function(d, s, id){
             var js, fjs = d.getElementsByTagName(s)[0];
             if (d.getElementById(id)) {return;}
             js = d.createElement(s); js.id = id;
             js.src = "//connect.facebook.net/en_US/sdk.js";
             fjs.parentNode.insertBefore(js, fjs);
           }(document, 'script', 'facebook-jssdk'));

            function myFacebookLogin() {
              FB.login(function(){ 

              FB.api('/me','GET',{"fields":"email,birthday,gender,hometown,location"}, {scope:'user_location,email,user_birthday'},
              function(response) {
                  console.log(response);
              }
            );
            })
            }

我在 console.log 中收到以下回复:

Object id : "1223808051065376" name : "Kevin Tinnemans"

根据图表 API 资源管理器,我应该得到以下输出。

{
  "email": "email@hotmail.nl",
  "birthday": "01/01/1900",
  "gender": "male",
  "hometown": {
    "id": "123456789",
    "name": "Narnia"
  },
  "location": {
    "id": "123456789",
    "name": "secret, secret, Netherlands"
  },
  "id": "123456789"
}
FB.login(function() { 
    FB.api('/me','GET',{"fields":"email,birthday,gender,hometown,location"}, function(response) {
        console.log(response);
    }
}, {scope:'user_location,email,user_birthday'});

确保使用带有范围参数的对象作为 FB.login 的第二个参数,以获得附加权限。