Social Graph中的哪些功能如此快速地加载了共同的朋友?

时间:2011-08-25 10:46:14

标签: facebook mutual-friendship

我正在制作一个Facebook应用程序,我需要登录用户的共同朋友。旧API friends.getMutualFriends可以完成工作,但速度非常慢。我想知道是否还有其他方式来获取共同朋友的名单。

此外,像SocialGraph这样的应用程序加载速度非常快,那么他们使用什么功能来快速掌握共同的朋友呢?

3 个答案:

答案 0 :(得分:1)

我找到了解决方案:)
使用friends.getMutualFriends,它需要n ^ 3 API,这是一个巨大的数字。我也尝试过朋友们,这并不是更好。所以我通过FQL查询获取数据如下:

//Create Query
$params = array(
    'method' => 'fql.query',
    'query' => "  SELECT uid1, uid2 FROM friend 
WHERE uid1 IN 
(SELECT uid2 FROM friend WHERE uid1= $match)
AND uid2 IN 
(SELECT uid2 FROM friend WHERE uid1= $match)",
);

//Run Query
$result = $facebook->api($params);

获得共同的朋友只需不到一秒钟!

答案 1 :(得分:0)

如果你担心速度,我会建议调用一次信息并找到一种缓存数据的方法。 Facebook现在为您提供了合法"合法"的能力。您可以使用memcached进行此类操作或将其临时保存在数据库中。

答案 2 :(得分:0)

截至2011年9月,有一个新的api呼吁:

  

本周我们为User对象添加了一个允许您的连接   获取两个用户之间的共同朋友列表。要使用它,只需得到   当前用户的访问令牌,并向:发出GET请求:

https://graph.facebook.com/me/mutualfriends/FRIEND_ID

Platform Updates: Operation Developer Love