0

Я хочу получить адрес электронной почты пользователя, вызвав facebook api. Я используюОшибка получения адреса электронной почты с помощью facebook SDK

FB.api('/me?fields=email', function(response) { 
var txt="Email:"+response.email; 
var element=document.getElementById("email").innerHTML=txt; 
    }); 

код для извлечения адреса электронной почты.

Я попросил разрешения электронной почты при входе в систему следующим образом: -

FB.Event.subscribe('auth.authResponseChange', function(response) { 
    if (response.status === 'connected') { 
     testAPI(); 
    } else if (response.status === 'not_authorized') { 

    FB.login({scope: 'email'}); 
    } else { 
    FB.login({scope: 'email'}); 
    } 
    }); 
    }; 

Еще когда я печатаю электронный идентификатор она показывает «не определено».

+0

Войти ваш маркер доступа, который вы получите при входе в консоль и проверьте, действительно ли здесь есть это 'email' разрешение включено здесь: https://developers.facebook.com/tools/debug – CBroe

+0

Является первым Javascript, выполненный после загрузки FB SDK, и после того, как вы проверили, вошел ли пользователь в систему? – Tobi

+0

@CBroe Как получить токен доступа пользователя? – Saumyaraj

ответ

1

Хорошо, у меня есть ответ на мою проблему. Если вы используете код кнопки Facebook, вам нужно добавить дополнительные разрешения в виде массива. Что я делал, так это то, что вызов функции входа вручную с разрешениями, но забыл добавлять разрешения в виде области в код кнопки.

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" scope=['email'] data-auto-logout-link="true"></div> 
Смежные вопросы