2015-10-16 11 views
-1

我可以從Facebook連接獲取ID和用戶名,但我無法檢索電子郵件!Facebook的連接:可以檢索身份證,用戶名,但無法檢索電子郵件

這裏是JS腳本:

function connectionFacebook() 
{ console.log('connectionFacebook called'); 
    FB.api('/me?fields=email,name', { fields: 'name, email' }, function(response) 
    { 
     console.log(response); 

響應給我:

對象{名: 「李四」,ID: 「11112222333344445555」}

但是,沒有電郵!

PS。我想它使用了一些舊的FB連接js,因爲我在一個相當古老的網站上工作。 我不知道它使用什麼版本的FB,但我猜是舊的!

ex:在站點中找到的代碼;

FB.Event.subscribe('auth.login', function(response) 
     {   
      connectionFacebook();   
; 
     });  

     FB.getLoginStatus(function(response) 
     {   
      if (response.authResponse) 
      {    
       connectionFacebook();    
      } 
      else 
      { 
       // no user session available, someone you dont know 
       //alert("getLoginStatus:deconnecté"); 
      } 
     }); 





$.fn.connexionFacebook = function() { 
       return this.each(function() { 
        FB.init({ 
          appId : xxxxxxxxx, 
          status : true, 
          cookie : true, 
          xfbml : true 
         }); 
        }); 
      } 
     })(jQuery); 

<script src="http://connect.facebook.net/fr_FR/all.js"></script> 

<fb:login-button show-faces="false" width="450" perms="email,user_birthday,user_location" size="medium">FaceBook connect</fb:login-button> 
+0

你,當你與Facebook登錄,您有哪些範圍? – jehna1

+0

抱歉..但是什麼是FB範圍以及如何找到它? – yarek

+0

@yarek您使用的是哪個版本的JS SDK? – Tobi

回答

1

我想你沒有權限訪問用戶的電子郵件。 Facebook要求您設置確定您需要訪問哪些信息的範圍。

在你的情況下,你需要指定範圍爲public_profile,email來訪問電子郵件。你可以這樣做,當在任一用戶登錄用的API調用:

FB.login(callback, { 'scope': 'public_profile,email' }); 

或按鈕:

<fb:login-button scope="public_profile,email"></fb:login-button> 

的範圍內指定email會詢問用戶分享她的電子郵件地址與您的應用程序時,她在日誌:

Facebook asking for Email scope

+0

你好,我的問題,這是一箇舊網站,我想它使用舊的FB連接。它正在工作並停止工作。在整個站點中沒有使用FB.login – yarek

+0

@yarek您的代碼正在偵聽用戶使用應用程序登錄時發出的事件'auth.login'。所以爲了讓代碼運行,必須有某種方法將用戶記入應用程序。我建議繼續搜索:) – jehna1

+0

我發現:$ .fn.connexionFacebook = function(){ return this.each(function(){ FB.init({app_id:xxxxxxxxx, status:true, cookie:true, xfbml:true }); }); } })(jQuery); – yarek

相關問題