我正在制作一个Facebook应用程序,我需要登录用户的共同朋友。旧API friends.getMutualFriends
可以完成工作,但速度非常慢。我想知道是否还有其他方式来获取共同朋友的名单。
此外,像SocialGraph这样的应用程序加载速度非常快,那么他们使用什么功能来快速掌握共同的朋友呢?
答案 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