获取所有喜欢的页面按一般喜欢排序
Get all liked pages sorted by general likes
我正在尝试让 Pages 被用户点赞,按每个页面的点赞数量降序排列...
使用 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
起初我对此很满意,但经过一些测试后,我的朋友告诉我他看不到梅西在他的名单上。 所以我想知道这个FQL
查询结果中没有显示所有页面的原因是什么?
FQL 已弃用,仅适用于使用 Graph v2.0 的旧应用程序 API。截至目前,唯一的方法是递归获取所有页面并自行进行排序。
您不必为此单独提出请求。
Graph API有一个叫做“字段扩展”的功能,可以让你一次指定你想要来自多个“级别”的数据。 https://developers.facebook.com/docs/graph-api/using-graph-api/v2.4#fieldexpansion
所以请求
/me/likes?fields=id,name,likes
将为您提供每个用户喜欢的页面的 ID、名称和喜欢数量。
(您仍然需要点击分页链接,收集所有结果并在之后进行排序,因为 API 目前不允许排序。)
我正在尝试让 Pages 被用户点赞,按每个页面的点赞数量降序排列...
使用 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
起初我对此很满意,但经过一些测试后,我的朋友告诉我他看不到梅西在他的名单上。 所以我想知道这个FQL
查询结果中没有显示所有页面的原因是什么?
FQL 已弃用,仅适用于使用 Graph v2.0 的旧应用程序 API。截至目前,唯一的方法是递归获取所有页面并自行进行排序。
您不必为此单独提出请求。
Graph API有一个叫做“字段扩展”的功能,可以让你一次指定你想要来自多个“级别”的数据。 https://developers.facebook.com/docs/graph-api/using-graph-api/v2.4#fieldexpansion
所以请求
/me/likes?fields=id,name,likes
将为您提供每个用户喜欢的页面的 ID、名称和喜欢数量。
(您仍然需要点击分页链接,收集所有结果并在之后进行排序,因为 API 目前不允许排序。)