API графика facebook не возвращает все данные

Я использую facebook graph api V2.0 для аутентификации пользователей в моем приложении, которое сейчас находится в разработке. Запрошенные разрешения следующие: «public_profile», «user_friends», «email». Приложению требуются день рождения и адрес электронной почты пользователя. Когда пользователь-разработчик входит в систему, вызов api графика facebook возвращает все необходимые данные, но когда пользователь-тестер входит в электронную почту, день рождения и другие данные не возвращаются. Оба пользователя (разработчик и тестировщик) предоставили все разрешения, запрошенные при входе в систему. Кто-нибудь с таким странным поведением? Спасибо

Обновление: разрешение запроса: @ "public_profile", @ "email", @ "user_birthday", @ "user_friends"

Теперь api возвращает день рождения, но не электронную почту. Просто проверил токен доступа и получил все необходимые разрешения. Приложение звонит:

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
 ---- code here ---
}];

person Williams_Martinez    schedule 16.05.2014    source источник
comment
Вы не получите день рождения, не спросив предварительно соответствующее разрешение ...   -  person CBroe    schedule 17.05.2014
comment
Убедитесь, что у используемого токена доступа есть разрешение. Если это так, вы должны сообщить нам, что вы запрашиваете, вы делаете с этим доступом   -  person WizKid    schedule 17.05.2014
comment
Просто обновили вопрос, добавив дополнительную информацию.   -  person Williams_Martinez    schedule 17.05.2014


Ответы (1)


Сначала для обоих пользователей вызовите /me/permissions и убедитесь, что в списке указаны все ожидаемые разрешения.

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

Вы должны защищать код, иногда ожидая, что эти поля могут быть пустыми.

person Simon Cross    schedule 29.05.2014