Facebook图形API:获取所有好友';喜欢

Facebook图形API:获取所有好友';喜欢,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我并不特别喜欢通过“我/朋友”获取朋友列表,然后通过“%id%/likes”迭代该列表来获取某个特定朋友的喜好,这需要很长时间 有没有一种方法可以在单个API调用中批量查询用户的朋友 谢谢。您可以使用FQL多重查询一次获取所有内容,以下是如何: { "friends":"SELECT name, uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())", "friendsLikes":"SELECT uid,

我并不特别喜欢通过“我/朋友”获取朋友列表,然后通过“%id%/likes”迭代该列表来获取某个特定朋友的喜好,这需要很长时间

有没有一种方法可以在单个API调用中批量查询用户的朋友


谢谢。

您可以使用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)"
}
您可以在
您将一个接一个地获得三个结果集,朋友列表,他们所有喜欢的列表,然后是页面名称列表。
(请注意,执行查询可能需要一段时间,因此您可能希望在第一行设置限制。在uid1=me()之后设置限制5,例如,用于测试…)

然后以您使用的任何语言/平台将其包含在代码中,例如在iOS上:

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


这将解决分组问题

太好了!现在有没有一种方法可以直接在查询中按用户id对这些喜好进行分组?不幸的是,这是不可能的。Facebook FQL只支持非常基本的SQL,没有连接。您可以在这里看到更多信息:我再次尝试了相同的查询,得到了{“error”:“Request failed”}。结果json似乎超过了某个阈值大小。此外,无法按uid分组是一个真正的麻烦。