0

У меня есть веб-приложение, работающее в Google App Engine/Java. Приложение позволяет пользователю войти в систему, используя свою учетную запись на facebook.Facebook Login API - нет поля электронной почты в ответе

Реализация работает отлично, но иногда произошла ошибка, и в ответ API ответили email.

Email уже входит в комплект: scope = "email,user_birthday,user_location";

я явно требуется по электронной почте:

"https://graph.facebook.com/me?access_token=" + accessToken + "&fields=email,id,name,birthday,gender"; 

Но до сих пор API иногда не имеют электронной почты вернулся. Как воспроизвести ошибку с моей учетной записью в facebook?

Когда ответ не будет содержать адрес электронной почты? Не требуется ли электронная почта во всех регистрационных книгах? Любое обходное решение для этого?

+0

Вы проверяли состояние, когда пользователь имеет действительный логин на Facebook, но отказывается дать вашему приложению необходимые разрешения? Если вы указали URL-адрес, то при отказе facebook перенаправляет пользователя на страницу, имея только базовую информацию о пользователе, конечно, без данных электронной почты. –

+0

как его проверить? Можете ли вы дать мне идею? –

+0

Войдите в facebook, удалите привилегии приложения из своей учетной записи, а затем перейдите в свое приложение, когда он попросит разрешения отклонить его и посмотреть, произошла ли ошибка. –

ответ

0

Это очень старый вопрос, но проблема в том, что у пользователя нет электронного письма. Facebook позволяет пользователям регистрироваться только с номера телефона, поэтому растущий процент пользователей не имеет электронной почты, связанной с их учетной записью.

Подробнее: https://developers.facebook.com/docs/facebook-login/permissions#reference-email