2017-03-07 99 views
-1

我正在使用FB SDK v2.8。我所嘗試的不會顯示用戶的電子郵件。我用手機或電子郵件地址登錄並不重要。我怎樣才能得到用戶的電子郵件?FB SDK v2.8不顯示電子郵件

在我的FB應用信息中心,我可以看到在批准的項目部分電子郵件許可

<div class="fb-login-button" data-max-rows="1" data-size="large" 
    data-show-faces="false" data-auto-logout-link="true"></div> 

(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')); 

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

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    .... 
    } else if(response.status === 'not_authorized'({ 
    .... } 
    else { 
    ... } 
}); 
function getCurrentUserInfo() { 
     FB.api("/me", { 
      locale : 'en_US', 
      fields : 'name, email, gender, birthday, currency, website' 
     }, function(response) { 
      console.log(response); 
      console.log(response.name + ': ' + response.email); 
     } 
    }); 

approved_items enter image description here

  • 這很奇怪看到一個downvote沒有解釋。
+0

在哪裏登錄部分,在那裏你問的必要權限的用戶? – CBroe

+0

一旦用戶點擊登錄按鈕,它將打開fb登錄頁面,然後如果憑據正確,將彈出一個彈出窗口並要求獲得許可。 – Eniss

+0

您並未要求您顯示該登錄按鈕的任何權限。 – CBroe

回答

0

您只是要求默認的public_profile權限,您還必須要求電子郵件的權限。

檢查文檔here

FB.login(function(response) { 
    console.log(response); 
}, {scope: 'email'});