0

我剛剛開始玩Facebook的API,但我似乎無法讓API使用FB.User對象提醒我的電子郵件。我可以打印出我的userID和我的名字,但如果我嘗試打印出我的電子郵件或我的教育,它會返回爲未定義的。這裏是我的代碼:通過Facebook獲得電子郵件JavaScript SDK

<html> 
<head> 
    <script src ="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

</head> 
<body> 

<div id="fb-root"></div> 
<script> 
    var appId = '1374555416100192'; 
    var siteRoot = ''; 

    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : appId, 
     channelURL : '///channel.html', // Channel File 
     status  : true, 
     cookie  : true, 
     oauth  : true, 
     xfbml  : true 
    }); 
    $(document).trigger('fbload'); 
    }; 


    (function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "http://connect.facebook.net/en_US/all.js#xfbml=1&appId=" + appId; 
    d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 



    $(document).on(
    'fbload', // <---- HERE'S OUR CUSTOM EVENT BEING LISTENED FOR 
    function(){ 
     //some code that requires the FB object 
     //such as... 
     FB.getLoginStatus(function(res){ 
      if(res.status == "connected"){ 
       FB.api('/me', function(fbUser) { 
        alert(fbUser.name + " " + fbUser.email); 
       }); 
      } 
     }); 

    } 
); 
</script> 


<div class="fb-login-button" data-show-faces="true" data-width="200" data-max-rows="1">Start w/ Facebook</div> 

</body> 
</html> 

回答

4

您需要電子郵件的權限來訪問它

改變這一行

<div class="fb-login-button" data-show-faces="true" data-width="200" data-max-rows="1">Start w/ Facebook</div> 

如下檢查(由data-scope="email"

<div class="fb-login-button" data-scope="email" data-show-faces="true" data-width="200" data-max-rows="1">Start w/ Facebook</div> 
相關問題