获取所有喜欢的页面按一般喜欢排序

时间:2015-09-03 20:13:29

标签: ios facebook swift facebook-graph-api facebook-fql

我试图让用户喜欢的页面按照每个页面的数量减少的数量下降... 使用Graph API很难解决此问题,因为我必须提取这样的请求:

let request = FBSDKGraphRequest(graphPath: "me/likes" parameters: nil)

并以递归方式调用此内部,因为此请求将分页响应。在我获得所有内容后,我必须在本地对其进行排序,以及我如何获得它 恕我直言,这是一个小小的 overkill 所以我已经研究了一种实现同样的方法但使用FQL的方法,这就是查询:

SELECT name, fan_count FROM page WHERE  page_id IN (SELECT page_id FROM page_fan WHERE uid = me())  ORDER BY fan_count DESC

起初我很高兴这个,但经过一些测试,我的朋友告诉我,他不能在他的名单上看到梅西。 所以我想知道这个FQL查询结果中并非所有页面都显示的原因是什么?

2 个答案:

答案 0 :(得分:2)

您无需为此单独提出请求。

Graph API具有一个名为“字段扩展”的功能,允许您一次性指定要从多个“级别”获取数据。 https://developers.facebook.com/docs/graph-api/using-graph-api/v2.4#fieldexpansion

请求

/me/likes?fields=id,name,likes

会为您提供每个用户喜欢的网页的ID,名称和喜欢的数量。

(您仍然必须按照分页链接,收集所有结果并在之后进行排序,因为API目前不允许排序。)

答案 1 :(得分:0)

FQL已弃用,仅适用于使用Graph API v2.0的旧版应用。截至目前,唯一的方法是递归获取所有页面并自行进行排序。