2015-11-06 2 views
1

Я тестирую FB Login на своем последнем веб-сайте, и кажется легким, но когда я пытаюсь войти в приложение, он никогда не возвращает всю информацию. мне нужно по крайней мере, по электронной почте, но переменные в ответ только «Идентификатор» и «Имя»Facebook Login Javascript API

<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '996648240391360', // Set YOUR APP ID 
     //channelUrl : 'http://hayageek.com/examples/oauth/facebook/oauth-javascript/channel.html', // Channel File 
    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>Connected to Facebook"; 
    //SUCCESS 

}  
else if (response.status === 'not_authorized') 
{ 
    document.getElementById("message").innerHTML += "<br>Failed to Connect"; 

    //FAILED 
} else 
{ 
    document.getElementById("message").innerHTML += "<br>Logged Out"; 

    //UNKNOWN ERROR 
} 
}); 

}; 

function Login() 
{ 

    FB.login(function(response) { 
     if (response.authResponse) 
     { 
      getUserInfo(); 
     } 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="<b>Name</b> : "+response.name+"<br>"; 
     str +="<b>Link: </b>"+response.link+"<br>"; 
     str +="<b>Username:</b> "+response.username+"<br>"; 
     str +="<b>id: </b>"+response.id+"<br>"; 
     str +="<b>Email:</b> "+response.email+"<br>"; 
     str +="<input type='button' value='Get Photo' onclick='getPhoto();'/>"; 
     str +="<input type='button' value='Logout' onclick='Logout();'/>"; 
     document.getElementById("status").innerHTML=str; 

}); 
} 
function getPhoto() 
{ 
    FB.api('/me/picture?type=normal', function(response) { 

     var str="<br/><b>Pic</b> : <img src='"+response.data.url+"'/>"; 
     document.getElementById("status").innerHTML+=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)); 

</script> 

Любой может помочь мне и сказать, почему не работает? http://i.stack.imgur.com/yahmJ.png

ответ

0

Facebook, используемый для предоставления базовой информации (имя, адрес электронной почты, facebook id) пользователя, когда пользователь предоставляет доступ к общедоступной информации о своем профиле. Facebook недавно изменил свою стратегию разрешений, и, следовательно, вам нужно проверить с помощью Facebook Разрешения Страница @ developer.facebook.com

+0

Как я могу настроить приложение для получения электронной почты и другой информации? –

+0

Вам нужно будет отправить запрос в facebook для этого. Панель вашего приложения будет содержать раздел «Статус и обзор». Проверьте, разрешены ли разрешения (электронной почты). –

+0

Просмотр моего приложения? Или создать группу разработчиков facebook? –