Я бы хотел сделать что-то вроде лицевой панели, используя API-интерфейс graph с действиями open graph 2: из пользовательского объекта и пользовательского объекта, дайте мне друзей (с помощью моего приложения facebook), которые выполняли это действие с этим объектом.
Проблема в том, что, используя FQL, я не могу запрашивать пользовательские объекты и действия.Используя API графика, я не могу найти способ пересечения списка моих друзей с объектом, который меня интересует.
Лучшее, что я мог сделать, - это использовать пакетный режим API графика:1005 *
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, мне нужно пройти по страницам, выполнить больше запросов (я стараюсь свести к минимуму количество запросов)
Видите ли вы лучше?способ сделать это?