我正在制作一个社交应用程序,从Facebook获取数据并以一种奇特的方式显示它,应用程序首先抓住10个随机朋友,然后(尝试)抓住登录用户和10个朋友中的每一个之间的共同朋友
使用FQL获取10位朋友非常容易,但是在没有应用程序进行2000 API调用的情况下找到共同朋友时遇到了重大问题!
这种方式有效
function GetMutualFriendsFor($id)
{
// Queries and returns results for mutual friends between user and id
$param = array(
'method' => 'friends.getMutualFriends',
'source_uid' => $this->_user['id'],
'target_uid' => $id,
'callback'=> ''
);
$mutualFriends = $this->_instance->api($param);
}
不幸的是,运行此功能一次需要大约3分钟..将其乘以10次,然后在开始编写脚本后开始做午餐!
我正在考虑使用FQL这样做,因为它更快,并且返回我想要的数据量(uid,name)我尝试过
$query = 'SELECT uid1 FROM friend WHERE uid2=me() AND uid1 IN (SELECT uid2 FROM friend WHERE uid1=' . $id .') LIMIT 5';
但PHP抛出错误:无法查找1523223065的所有朋友。只能查找已登录用户(665044728)或具有相应权限的登录用户的朋友
有人知道该怎么办? PS:我已经在stackoverflow上看到了关于此的所有其他帖子,遗憾的是没有任何成功:(
非常感谢!!
答案 0 :(得分:1)
据我所知,你不能再通过FQL这样做了。您的查询很好,它曾经用了一段时间。但我认为facebook改变了一些事情......
-Roozbeh
答案 1 :(得分:0)
是的!在任何情况下,我都认为这是唯一的方法。我鼓励每个人都使用FBJS进行任何查询,因为它的速度非常快! 2分钟比5秒!
谢谢你!
丹