Не удается получить Response.email из Facebook API v2.5, даже если электронная почта зеленая в Обзорах приложений. Я использовал этот базовый FB.api (), даже с SCOPE он не возвращает EMAIL
FB.api('/me', function(response) {
console.log(response);
});
Правильный способ запросить дополнительные поля (кроме идентификатора и имени):
FB.api('/me', {fields: 'email'}, function(response) {
console.log(response);
});
Конечно, убедитесь, что вы добавили email
разрешение в объеме:
FB.login(function(response) {
if (response.authResponse) {
}
}, {scope: 'email'});
дополнительный Информация.
Кстати, вы можете тестировать вызовы API Вот.
Прежде всего убедитесь, что FB.login()
называется с scope: email
чтобы токен имел разрешение на доступ к электронной почте пользователя.
Затем вы должны упомянуть поле email
явно во время звонка /me
так как по умолчанию он вернет id
а также name
только.
FB.api('/me?fields=email', function(response) {
console.log(response);
});
Убедитесь, что вы определили область действия «email» при входе в систему, тогда вы можете получить ее, когда спросите graph.facebook.com:
$url = 'https://www.facebook.com/dialog/oauth';
$params = array(
'client_id' => $this->strategy['app_id'],
'redirect_uri' => $this->strategy['redirect_uri'],
'scope' => 'email',
);