1
我在玩facebook的javascript sdk,無法獲取發送到服務器的用戶電子郵件地址。下面的代碼:無法在FB.api方法內聲明任何東西
<script type="text/javascript">
function fbLogin(){
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
$("<form id='fb_credentials' action='/create_user_with_fb' method='post'></form>").appendTo('body');
$("<input id='user_uid' type='hidden' />").appendTo("#fb_credentials");
$("<input id='user_access_token' type='hidden' />").appendTo("#fb_credentials");
$("<input id='user_email' type='hidden' />").appendTo("#fb_credentials");
$("input#user_uid").attr({
name: 'user[uid]',
value: response.authResponse['userID']
});
$("input#user_access_token").attr({
name: 'user[access_token]',
value: response.authResponse['accessToken']
});
FB.api('/me', function(response){
$("input#user_email").attr({
name: 'user[email]',
value: response.email
});
});
$('form#fb_credentials').submit();
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'email, publish_actions, offline_access'});
}
</script>
請注意:本fbLogin
函數調用上onClick
事件。
我在這裏要做的是使用JS SDK獲取用戶ID,access_token和電子郵件。 然後我使用JQuery創建一個表單並通過http post方法發送信息。
我可以得到除用戶電子郵件地址以外的所有信息。我究竟做錯了什麼?我該如何解決這個問題?