我已經嘗試使用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>
名稱正確返回,但郵件是未定義....
做的權限對話框要求輸入電子郵件? –
不,它沒有請求它 – Yuval
在你的FB.login調用中,你使用範圍作爲你的回調函數中的標籤 - 你必須將對象作爲第二個參數傳遞給FB.login,而不是在回調中!同時使用fb:登錄按鈕和FB.login也沒有多大意義。你在這裏做什麼看起來像隨機複製和粘貼沒有太多的線索... – CBroe