2

我已經嘗試使用javascritp sdk教程來使用Facebook按鈕進行登錄,但我不斷收到「未定義」的電子郵件字段,並且該應用程序不請求訪問電子郵件..任何想法我應該做什麼不同? 這是我的代碼...訪問已登錄的用戶電子郵件使用Facebook的JavaScript sdk

 <script> 


window.fbAsyncInit = function() { 
    // init the FB JS SDK 
    FB.init({ 
     appId  : '92',      // App ID from the app dashboard 
     channelUrl : '//om/fd/channel.php', // Channel file for x-domain comms 
     status  : true,         // Check Facebook Login status 
     cookie  : true, 
     oauth:true, 
     xfbml  : true         // Look for social plugins on the page 
    }); 
    FB.Event.subscribe('auth.authResponseChange', function(response) { 
     serverLogin(); 
    } else if (response.status === 'not_authorized') { 
    FB.login(function(response){scope:'email'}); 
    } else { 

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

    function serverLogin() { 

    console.log('Welcome! Fetching your information.... '); 
    FB.api('/me?fields=email,name', function(response) { 
     console.log('Good to see you, ' + response.name + '.'+response.email); 
     alert('Good to see you, ' + response.name + '.'+response.email); 
    }); 
    //FB.logout(); 
    } 
    // Load the SDK asynchronously 

</script> 
     <fb:login-button show-faces="false" width="100" max-rows="1"></fb:login-button> 

名稱正確返回,但郵件是未定義....

+0

做的權限對話框要求輸入電子郵件? –

+0

不,它沒有請求它 – Yuval

+0

在你的FB.login調用中,你使用範圍作爲你的回調函數中的標籤 - 你必須將對象作爲第二個參數傳遞給FB.login,而不是在回調中!同時使用fb:登錄按鈕和FB.login也沒有多大意義。你在這裏做什麼看起來像隨機複製和粘貼沒有太多的線索... – CBroe

回答

0

定義權限在scope參數,就像:

<fb:login-button show-faces="false" scope="email" width="100" max-rows="1"></fb:login-button> 
+0

謝謝,這種方式工作... – Yuval

+0

Gr8 ............ –

+0

或者在FB.login調用中定義範圍參數 –

相關問題