【发布时间】:2012-01-03 14:17:04
【问题描述】:
我正在使用 facebook 的 javascript sdk,但无法将用户电子邮件地址发送到服务器。代码如下:
<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 方法发送信息。
我可以获得除用户电子邮件地址以外的所有信息。我究竟做错了什么?我该如何解决?
【问题讨论】:
标签: javascript jquery facebook api callback