无法通过我的网站获取通过fb帐户登录的用户的电子邮件

时间:2015-09-16 07:10:59

标签: javascript php facebook

我正在建立一个网站,让人们通过他们的Facebook帐户登录。

我可以获取姓名和用户图片,但我没有收到用户的电子邮件。电子邮件返回未定义。我的Facebook登录代码是:

window.fbAsyncInit = function() {
FB.init({
      appId      : 'XXXXXXXXXXXXXXXX', // Set YOUR APP ID
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
});
FB.Event.subscribe('auth.authResponseChange', function(response) 
{
     if (response.status === 'connected') 
{
document.getElementById("message").innerHTML +=  "<br>";
}    
else if (response.status === 'not_authorized') 
{
} 
}); 
};
function Login()
{
FB.login(function(response) {
if (response.authResponse) 
{
getUserInfo();
 getPhoto();
} else 
{
 console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'email,user_photos,user_videos'});
}
function getUserInfo() {
FB.api('/me', function(response) {
var str="You have succesfully logged in<br>";
 var name=response.name;
var email=response.email;
 console.log(name+email);
});
$(document).ajaxStop(function(){
    window.location.reload();
});
    }
    function getPhoto()
    {
FB.api('/me/picture?type=normal', function(response) {
var str="<br/><b>Pic</b> : <img src='"+response.data.url+"'/>";
$('#getphoto').html(str);
});
}
function Logout()
{
FB.logout(function(){document.location.reload();});
}
 // Load the SDK asynchronously
(function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
}(document));

我试图通过Stack Overflow和developers.facebook.com中提到的各种方式获取电子邮件,但失败了。

触发Facebook登录:

<img src='img/fblogin.jpg' onclick='login()'>

我尝试通过 for (key in response){ alert("response["+ key +"]="+ response[key]); }提醒响应属性 它返回的名称和ID不是电子邮件

1 个答案:

答案 0 :(得分:0)

I think issue is on your app that you have created on here https://developers.facebook.com/apps/

can you please make below changes first ?

login in https://developers.facebook.com/apps/ and open your app.

Click on "Status & Review" then find this "
Do you want to make this app and all its live features available to the general public?" make it yes.

After that check did you get email or not and let me know.