2013-05-21 2 views
1

Мне нужно сделать сайт для входа в Facebook. Имеет смысл отправить им электронное письмо, но я не могу получить адрес электронной почты от Facebook.Facebook API получить адрес электронной почты

Я следовал точно инструкциям от https://developers.facebook.com/docs/facebook-login/getting-started-web/ Я добавляю его {scope: email} в FB.login.

Как я могу получить адрес электронной почты с помощью API Facebook?

Мой код теперь:

<div id="fb-root"></div> 
<script> 

    window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'app', // App ID 
    channelUrl : '//domain.COM/channel.php', // 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') { 


    FB.api('/me', function(response) { 

     console.log(response); 
    }); 

    } else if (response.status === 'not_authorized') { 

     FB.login(function(response) {},{scope: 'email'}); 

    } else { 


     FB.login(function(response) {}, {scope: 'email'}); 


    } 
    }); 
    }; 

    // 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> 
    <fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button> 

ответ

0

Если вы вошли в систему успешно, вызывая response.email возвратит адрес электронной почты пользователя.

+0

Это проблема, которую я не объект электронной почты есть , В ответе у меня есть только основы. – Alqin

+0

Каков результат работы console.log (response) в случае подключения response.status? –

1

Я столкнулся с тем же вопросом. Отмените авторизацию приложения из учетной записи fb. Затем авторизуйте приложение снова через тестовую страницу.

Я обнаружил, что он не попал в нижний блок после того, как я разрешил приложение в первый раз. (Добавление рамки: по электронной почте в FB.login после того, как приложение было разрешено не хорошо ... я думаю)

} else if (response.status === 'not_authorized') { 

    FB.login(function(response) {},{scope: 'email'}); 

} else { 

    FB.login(function(response) {}, {scope: 'email'}); 

} 

надежды, что помогает

Смежные вопросы