Дни рождения некоторых друзей в Facebook возвращаются как нулевые, но у меня есть правильные разрешения API

Я пытаюсь получить дни рождения моих друзей в своем приложении, но некоторые из них пустые. Я думал, что у этих людей нет дня рождения, но на самом деле он есть.

Мой fql-запрос:

SELECT uid,name,birthday_date FROM user WHERE uid IN (SELECT uid2 from friend where uid1=me())

Дни рождения также нулевые, когда я запрашиваю /me/friends?fields=birthday

Мой токен доступа имеет набор разрешений friends_birthday.

Я также пробовал использовать birthday вместо birthday_date в FQL-запросе. Тот же результат.

Я предполагаю, что это происходит потому, что они каким-то образом отказались, но я не знаю, как.

Есть ли альтернативное решение, чтобы на самом деле получить их дни рождения от facebook?


person Andrei Radulescu    schedule 06.06.2012    source источник
comment
есть ли способ получить день рождения этих пользователей   -  person Maher Ismaail    schedule 27.06.2015
comment
@MaherIsmaail нет, нет   -  person Andrei Radulescu    schedule 29.06.2015
comment
спасибо ... но почему синтаксический анализ остановлен, если он равен нулю, даже если я сделаю это: if(object.getString(birthday) != null) { }   -  person Maher Ismaail    schedule 29.06.2015


Ответы (2)


Также можно запретить приложениям получать доступ к вашим данным, когда их используют ваши друзья. Эта опция не позволит текущему пользователю сеанса видеть некоторую информацию о своих друзьях через API, даже если эта информация доступна на Facebook.com.

Этот параметр находится в настройках конфиденциальности по адресу https://www.facebook.com/settings/?tab=privacy в разделе «Реклама, приложения и веб-сайты» -> «Как люди передают вашу информацию в приложения, которые они используют» и выглядит следующим образом:

скриншот

{edit} вы можете проверить это на себе с тестовыми пользователями, это наиболее вероятная причина, по которой дни рождения видны вам во внешнем интерфейсе

person Igy    schedule 06.06.2012
comment
Я знаю, что это немного устарело... но мне интересно, знаете ли вы способ обнаружения этих конкретных настроек конфиденциальности друга, прошедшего проверку подлинности? то есть / usercase : чтобы приложение могло представить какое-то уведомление о том, что конкретный друг на Facebook запретил доступ к своим данным ... чтобы авторизованный пользователь знал, что это не ошибка в вашем приложении? - person Daniel McCarthy; 02.04.2013
comment
Нет, API для возврата этих настроек конфиденциальности не существует. - person Igy; 03.04.2013

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

person RinoTom    schedule 06.06.2012