2015-09-03 47 views
0

我试图让页面用户喜欢下令喜欢每一页都有的多寡...... 这是很难得到这种使用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查询结果?

回答

2

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

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

所以请求

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

会给你的ID,姓名和喜欢的数量为每个用户喜欢的网页。

(你仍然必须遵循分页链接,收集所有的结果和做你结束之后的排序,因为API目前不允许排序。)

0

FQL已弃用,只适用于使用图API的v2.0的较早版本的应用程序。到目前为止,做到这一点的唯一方法是递归获取所有页面并自行排序。

+0

为什么downvote?请评论,以便我可以改善我的问题,如果有什么问题。 – luschn