我想使用图形api与开放图形2动作做一些类似facepile的东西:从自定义对象和自定义对象,给我在这个对象上执行此操作的朋友(使用我的Facebook应用程序)。 问题是使用FQL,我无法查询自
问题是使用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,我必须通过分页,执行更多的查询(我尽量减少查询的数量)
你会看到一个更好的方法吗?
现在可以使用一个Graph API请求来执行此操作:GET https://graph.facebook.com/me/friends?limit=50&fields=name,namespace:testaction.limit(100)
见field expansion和updates to the graph API。