2014-02-13 32 views
0

我正在開發使用Facebook API的應用程序。 Facebook連接。 原來我無法獲取電子郵件屬性。 問題是什麼?Facebook Connect - 接收電子郵件屬性

FB.init({ 
      appId : 'CODE', 
      status: true, 
      cookie: true, 
      xfbml: true, 

     }); 

     function statusFacebook() { 
      FB.getLoginStatus(function(response) { 
       if (response.status === 'connected') { 
         FB.api('/me', function(resp) { 
          var nome = resp.name; 
          var email = resp.email; 
          var token = response.authResponse.accessToken; 

         }); 
       } else if (response.status === 'not_authorized') { 
         loginFacebook(); // nao autorizado, solicitar login 
       } 
       else { 
         loginFacebook(); // nao autorizado, solicitar login 
       }}); 
     } 

     function loginFacebook() { 
      FB.login(function(response) { 
        if (response.authResponse) { 
         FB.api('/me', function(resp) { 
          var nome = resp.name; 
          var email = resp.email; 
          var token = response.authResponse.accessToken; 

         }, {scope: 'email'}); 
        } 
      }); 
     } 

有權限和其他但不工作。 按鈕是:<a href="##" onClick="statusFacebook();">Login Facebook</a>

回答

1

試試這個:

function loginFacebook() { 
      FB.login(function(response) { 
        if (response.authResponse) { 
         FB.api('/me', function(resp) { 
          var nome = resp.name; 
          var email = resp.email; 
          var token = response.authResponse.accessToken; 
         }); 
        } 
      }, {scope: 'email'}); 
     } 

正如寫在specs,將scope必須聲明爲第二個參數去FB.login()功能:

FB.login(function(response) { 
    // handle the response 
}, {scope: 'email,user_likes'}); 

https://developers.facebook.com/docs/reference/javascript/FB.login/

+0

我做到這一點,但解決方案是創建一個帶範圍的fb-button,並在事件onlogin中調用功能..謝謝! –