FBJS friends birthday oauth 2.0

#facebook #oauth #fbjs

#Facebook #oauth #fbjs

Вопрос:

мой FB.login (функция заканчивается областью действия, как и должно быть:

 }, {scope:'user_birthday,friends_birthday'});
  

после входа пользователя в систему срабатывает функция permissionsTest():

 function permissionsTest(){
    FB.api('me/friends?fields=birthday', {fields:'birthday'}, function(response) { 
        alert(response.data[1]);
        });
}
  

Но все предупреждения возвращаются: [object Object] когда я пытаюсь увидеть что-то вроде: 12/09/1983

Как это должно работать?

смотрите: graph.facebook.com/me/friends ?поля= день рождения

Вы можете ясно видеть, что существует объект с именем «данные», содержащий массив объектов с именами «id» и «день рождения»

Мои предыдущие попытки:
response.data[1] возвращает [объект Object]
response возвращает [объект Object]
response.data[1].id возвращает неопределенный
ответ.data[1].день рождения возвращает неопределенный
response.id возвращает неопределенный
ответ.день рождения возвращает неопределенный

Кажется, я не могу понять это правильно, и я чувствую, что исчерпал документы, стек и Google.

Ответ №1:

Некоторые дни рождения друзей могут быть нулевыми. Проверьте ответ с помощью Facebook Graph API Explorer:

 {
  "data": [
    {
      "birthday": "03/03", 
      "id": "997"
    }, 
    {
      "id": "998"
    },
    {
      "birthday": "05/06/1986", 
      "id": "999"
    }
]
  

Это возвращало данные для меня:

 FB.api('me/friends?fields=birthday', {fields:'birthday'}, function(response) { 
  for (var i = 0; i < response.data.length; i  ) {
    alert(response.data[i].birthday);
  }
});
  

Комментарии:

1. Я забыл упомянуть, что причина, по которой я пытался использовать response.data [1], заключалась в том, что первый день рождения друзей в друзьях моего идентификатора равен нулю.