Получить список друзей, которые выполнили настраиваемое действие над настраиваемым объектом в открытом графике 2

Я хотел бы сделать что-то вроде facepile, используя api графа с открытым графом 2 действия: из настраиваемый объект и настраиваемый объект, дайте мне друзей (с помощью моего приложения facebook), которые выполнили это действие с этим объектом.

Проблема в том, что с помощью FQL я не могу запрашивать пользовательские объекты и действия. Используя API графа, я не могу найти способ пересечь список моих друзей с объектом, который меня интересует.

Лучшее, что я мог сделать, это использовать пакетный режим графического API:

batch=[
  // First we get the list of friends that are using my facebook application
  { "method": "GET", "relative_url": "fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+(SELECT+uid1+FROM+friend+WHERE+uid2=me())+AND+is_app_user=1+LIMIT+0,49", "name": "friends"},
  // Then query each friend to get the list of objects that went through my namespace:testaction
  { "method": "GET", "relative_url": "{result=friends:$.data.0.uid}/namespace:testaction" },
  { "method": "GET", "relative_url": "{result=friends:$.data.1.uid}/namespace:testaction" },
  ...
  { "method": "GET", "relative_url": "{result=friends:$.data.49.uid}/namespace:testaction" }
]

Это довольно неэффективен и не решает полностью мою проблему, так как:

  • Мне все еще нужно отфильтровать результаты, чтобы получить только тот, который соответствует объект, который я хочу
  • Если есть большое количество объектов в пространстве имен: testaction, я должен пройти разбиение по страницам, выполняя больше запросов (я стараюсь минимизировать количество запросов)

Видите ли вы лучший способ сделать это?

22
задан Till 23 August 2012 в 08:36
поделиться