我正在尝试让用户喜欢的页面按每个页面的喜欢数量降序排列......
使用 Graph API
很难得到这个,因为我必须像这样获取请求:
let request = FBSDKGraphRequest(graphPath: "me/likes" parameters: nil)
并在内部递归调用它,因为该请求将对响应进行分页。在我得到所有东西后,我必须在本地对其进行排序,这就是我得到它的方式 😬
恕我直言,这有点矫枉过正所以我研究了一种实现相同目的但使用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
起初我对此很满意,但经过一些测试后,我的 friend 告诉我他看不到梅西在他的名单上。 所以我想知道不是所有页面都显示在这个FQL
查询结果中的原因是什么?
最佳答案
您不必为此单独提出请求。
Graph API 有一个称为“字段扩展”的功能,它允许您一次指定您想要来自多个“级别”的数据。 https://developers.facebook.com/docs/graph-api/using-graph-api/v2.4#fieldexpansion
如此要求
/me/likes?fields=id,name,likes
将为您提供每个用户喜欢的页面的 ID、名称和喜欢的数量。
(您仍然需要点击分页链接,收集所有结果并在之后进行排序,因为 API 目前不允许排序。)
关于ios - 获取所有喜欢的页面按一般喜欢排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384649/