2017-02-14 81 views
0

我無法檢索與Facebook登錄按鈕連接的人的Facebook電子郵件地址。我在2.8版本中使用JDK java腳本從Facebook獲取用戶電子郵件與v2.8中的SDK java腳本連接

<fb:login-button scope="public_profile,email" onlogin="checkLoginState();" auto_logout_link="true"></fb:login-button> 

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : '<appId>', 
      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_FR/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 

    function checkLoginState() { 
     FB.getLoginStatus(function(response) { 
      //console.log('Check login state'); 
      //console.log(response); 
      statusChangeCallback(response); 
     }); 
    } 

    function statusChangeCallback(response) { 

     if (response.status === 'connected') { 
      console.log('Connected'); 
      testAPI(); 
     } else if (response.status === 'not_authorized') { 
      console.log('Please log into this app'); 
     } else { 
      console.log('Please log into Facebook.'); 
     } 
    } 

    function testAPI() { 
     FB.login(function(response) { 
      if (response.authResponse) { 
       var access_token = response.authResponse.accessToken; 
       FB.api(
        '/me', 
        {fields: 'id,email,cover,name,first_name,last_name,age_range,link,gender,locale,picture,timezone,updated_time,verified'}, 
        function (response) { 
         console.log('response'); 
         console.log(response); 
        } 
       ); 
      } else { 
       console.log('User cancelled login or did not fully authorize.'); 
      } 
     },{scope:'email'});   
    } 

    function testLogout() { 
     FB.logout(function(response) { 
      console.log(response); 
     }); 
    } 
</script> 

我有除電子郵件以外的所有信息。你能幫我嗎 ?

+0

難道用戶實際授予的許可電子郵件?並且是否驗證了電子郵件地址?如果不是,它將不會被退回。 – CBroe

+0

是的,我的對象響應驗證了電子郵件(驗證:真),並且我在連接期間接受了所有權限。 –

+0

這些字段表示檔案本身是否經過驗證,與電子郵件無關。 – CBroe

回答

1

變化:

FB.api(
       '/me', 
       {fields: 'id,email,cover,name,first_name,last_name,age_range,link,gender,locale,picture,timezone,updated_time,verified'}, 
       function (response) { 
        console.log('response'); 
        console.log(response); 
       } 
      ); 

要:

FB.api(
       '/me?fields=id,email,cover,name,first_name,last_name,age_range,link,gender,locale,picture,timezone,updated_time,verified', 
       function (response) { 
        console.log('response'); 
        console.log(response); 
       } 
      ); 
相關問題