错误地获取登录用户的朋友的朋友列表Facebook的php-sdk
我能够获得登录的用户的朋友的朋友列表,但有限的朋友(应用程序用户),除了一个朋友以外拥有较少的朋友的朋友列表。错误地获取登录用户的朋友的朋友列表Facebook的php-sdk
等我解释详细。
我能够得到那些是应用程序用户的朋友的朋友列表。我的8个朋友是应用用户。我可以给7个朋友的朋友,但我无法得到一个朋友的朋友。一个不同之处发现,他是有300左右。
3300的朋友别人我收到此错误
[Fri Mar 02 18:20:44 2012] [error] [client 192.168.1.2] PHP Fatal error: Uncaught Exception: 18: This API call could not be completed due to resource limits\n thrown in /var/www/jobjasoos/system/libraries/base_facebook.php on line 1040
我认为这是因为大没有。的朋友。有什么办法可以避免这个错误?
我正在使用这个fql查询。
$query="SELECT uid, name, work FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid2 IN (SELECT uid2 FROM friend WHERE uid1 = $current_user)) ORDER BY name";
$user_info=$facebook->api(array('method'=>'fql.query',
'query'=>$query));
我看到以下链接,并没有得到任何线索。
写这两条线路,以避免超时调用Facebook的时候再调用Facebook的API。
set_time_limit(0);
ini_set("memory_limit", "1024M");
$query="SELECT uid, name, work FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid2 IN (SELECT uid2 FROM friend WHERE uid1 = $current_user)) ORDER BY name";
$user_info=$facebook->api(array('method'=>'fql.query',
'query'=>$query));
您的服务器未配置为下载有这么多的信息的请求。你可以尝试重新配置你的服务器,但我会建议重新设计你的应用程序(如果可能)。也就是说,使用JavaScript SDK而不是PHP来获取好友列表。这会将带宽使用从服务器卸载到客户端。我的应用程序使用JS SDK下载5000个没有问题的朋友。
要继续使用PHP,在这里看到: How can I optimize my FQL to avoid Facebook timeouts?
我无法使用JavaScript SDK。如何配置服务器以下载包含如此多信息的请求? – 2012-03-05 06:16:41
$friends = $facebook->api('me/friends');
//print_r($friends['data']);
print_r("Number of Friends: ". count($friends['data']));
foreach ($friends['data'] as $key=>$listOfFriends) {
echo "<br/>".$key." ".$listOfFriends['name']."<img src='https://graph.facebook.com/".$listOfFriends['id']."/picture' width='50' height='50' title='".$listOfFriends['name']."' />";
}
问题是得到朋友的朋友列表。您的答案会给出登录用户的朋友列表。 – 2012-06-15 15:03:48
现在这个查询有时给人完美的结果,但有时它给为零。我的问题是为什么fql在不同的事务中表现不同? – 2012-03-05 06:55:22