Facebook Graph API:获得所有朋友的喜欢

时间:2013-02-27 09:12:19

标签: facebook facebook-graph-api

我并不特别喜欢用'我/朋友'获取朋友列表,然后在列表上迭代以获得'%id%/ likes'的特定朋友的喜欢 - 这需要很长时间

有没有办法在单个API调用中批量查询用户的朋友?

感谢。

2 个答案:

答案 0 :(得分:5)

您可以使用FQL多查询一次获取所有内容,具体方法如下:

{
"friends":"SELECT name, uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())",
"friendsLikes":"SELECT uid, page_id FROM page_fan WHERE uid IN (SELECT uid FROM #friends)",
"pages":"SELECT page_id, name FROM page WHERE page_id IN (SELECT page_id FROM #friendsLikes)"
}

您可以在http://developers.facebook.com/tools/explorer/中进行测试 您将逐个获得三个结果集,朋友列表,所有喜欢的列表以及页面名称列表。
(请注意,查询可能需要一段时间才能执行,因此您可能希望在第一行添加LIMIT。在 uid1 = me()之后添加 LIMIT 5 例如,用于测试...)

然后将其包含在您使用的任何语言/平台的代码中,例如在iOS上: http://developers.facebook.com/docs/howtos/run-fql-queries-ios-sdk/

答案 1 :(得分:3)

您也可以使用图谱API执行相同的查询:

https://graph.facebook.com/me/friends?fields=name,id,likes.limit(100).fields(id,name)&limit=100

这将解决分组问题。