我试图让用户喜欢的页面按照每个页面的数量减少的数量下降...
使用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
查询结果中并非所有页面都显示的原因是什么?
答案 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的旧版应用。截至目前,唯一的方法是递归获取所有页面并自行进行排序。