Визуализация друзей Facebook с атрибутом «зарегистрировано»

В основном, что я хотел бы сделать, это:

  • Получить друзей Facebook текущего пользователя
  • Визуализируйте эту коллекцию, различая пользователя, который уже зарегистрирован в моем приложении, с другими пользователями, добавляя атрибут «зарегистрированный», установленный в true или false, к каждому элементу этой коллекции.

Мне удалось получить друзей Facebook текущего пользователя и передать их моему приложению так

Контроллер пользователя

  def facebook_friends
    @friends = graph.get_connections("me", "friends")
  end

РАБЛ

object false
node :data do @friends
end

Он возвращает что-то вроде:

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown'
  }, {
    'id': '23456788'
    'name': 'Bobby Black'
  }]
}

но я хотел бы что-то вроде этого:

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown',
    'registered': true
  }, {
    'id': '23456788'
    'name': 'Bobby Black',
    'registered': false
  }]
}

Но я понятия не имею, как сделать вторую часть, не тратя слишком много ресурсов.


person Titouan de Bailleul    schedule 23.03.2013    source источник


Ответы (2)


Для этого есть простой запрос Graph API.

me/friends?fields=id,name,installed

https://developers.facebook.com/tools/explorer/

Он возвращает JSON. Пользователи, установившие приложение, имеют installed: true

@graph.get_connections('me','friends',:fields=>"id,name,installed")
person Tema    schedule 27.03.2013
comment
Не совсем так, как я думал, что сделаю это, но я думаю, что это работает. Спасибо - person Titouan de Bailleul; 27.03.2013

Я предполагаю, что вы имеете в виду регистрацию в своем приложении

Вместо этого вы можете использовать FQL для создания нужного вам ответа, поскольку в таблице user есть зарегистрированное поле с именем is_app_user.

SELECT uid, name, is_app_user FROM user where uid in (SELECT uid2 FROM friend WHERE uid1 = me())

Который должен вернуть что-то вроде

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown',
    'is_app_user': true
  }, {
    'id': '23456788'
    'name': 'Bobby Black',
    'is_app_user': false
  }]
}

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

Поле verified

person phwd    schedule 26.03.2013