【问题标题】:Get all liked pages sorted by general likes获取按一般喜欢排序的所有喜欢的页面
【发布时间】:2015-09-03 20:13:29
【问题描述】:

我正在尝试获取用户喜欢的 页面,按每个页面的喜欢数量降序排列... 使用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 查询结果中的原因是什么?

【问题讨论】:

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


    【解决方案1】:

    您不必为此提出单独的请求。

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

    所以请求

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

    将为您提供每个用户喜欢的页面的 ID、名称和点赞数。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 为什么投反对票?请发表评论,如果有任何问题,我可以改进我的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多