我使用facebook JS SDK进行用户登录。我很困惑它是如何工作的。当我使用此代码时:
FB.init({
appId : '*********************************',
channelURL: '*********************************',
cookie : true,
xfbml : true,
oauth : true
});
FB.getLoginStatus(function(response){
if(response.status == 'connected') {
}
else if(response.status == 'not_authorized') {
/* Not Authorized */
login();
}
else {
/* Not Logged In*/
/*login();*/
}
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
}; /* method window.fbAsyncInit ends here*/
/* Checks user login status on facebook*/
function login(){
FB.login(function(response) {
if (response.authResponse) {
//connected
}
else {
//cancelled
}
}, {scope: 'email'});
} /*function login ends here*/
我无法获取用户的电子邮件ID。
如果我使用这个,它会给我用户电子邮件ID。
FB.init({
appId : '********************',
channelURL: '********************',
cookie : true,
xfbml : true,
oauth : true
});
FB.getLoginStatus(function(response){
if(response.status == 'connected') {
/* Connected Successfully */
FB.login(function(response) {
// handle the response
if (response.authResponse) {
}
else {
//cancelled
}
}, {scope: 'email,user_likes'});
}
else if(response.status == 'not_authorized') {
/* Not Authorized */
login();
}
else {
/* Not Logged In*/
/*login();*/
}
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
}; /* method window.fbAsyncInit ends here*/
/* Checks user login status on facebook*/
function login(){
FB.login(function(response) {
if (response.authResponse) {
//connected
}
else {
//cancelled
}
}, {scope: 'email,user_likes'});
} /*function login ends here*/
我收到了电子邮件ID。
请在第一段代码中指出我在哪里做错了?
已编辑:根据建议,我在登录功能中添加了{scope:'email,user_likes'},但仍无效。
谢谢
答案 0 :(得分:1)
案例1:我无法获得用户电子邮件ID。
唯一的原因可能是用户在进行这些更改之前已经授权。尝试再次使用相同的代码与新用户或从App settings删除应用程序。
答案 1 :(得分:-1)
诀窍是添加{scope:'email,user_likes'} ... 在第一个代码中,您缺少第二个代码中的此部分。它将允许您获取用户的电子邮件ID以及他的喜欢...