0

ログインしているユーザーの友人リストを取得できましたが、限られた友人(アプリユーザー)ログインしているユーザーの友達の友達リストを取得できませんでした。php-sdk

私は詳細に説明しています。

私は友人の友だちリストを取得することができます。私の8人の友人はアプリユーザーです。私は7人の友人の友人になることができますが、私は1人の友人の友人を得ることができません。一つの違いは、彼が、私はこのエラー

[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

私はそれが大きいため、NOのだと思うが取得しています300

の周りに3300以上の友人の他人を持っていることがわかりました。友人のこのエラーを回避する方法はありますか?

私はこの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)); 

私は以下のリンクを見ており、何の手がかりも得ていません。

+0

今、このクエリでは、時々、完璧な結果を与えるが、時にはそれがゼロになります。私の質問は、異なるトランザクションでfqlの動作が異なる理由です。 –

答えて

0

はその後、FacebookのAPIを呼び出すのFacebookを呼び出すときにタイムアウトを回避するため、これらの2行を書きます。

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)); 
0

サーバーにはそれほど多くの情報を使用して要求をダウンロードするように構成されていません。サーバーの再設定を試みることもできますが、可能であればアプリのデザインを変更することをお勧めします。つまり、PHPの代わりにJavaScript SDKを使用して、友人リストを取得します。これにより、帯域幅の使用量がサーバーからクライアントにオフロードされます。私のアプリはJS SDKを使用して5000人の友達を問題なくダウンロードします。

は、PHPを使用して続行するには、こちらを参照してください。 How can I optimize my FQL to avoid Facebook timeouts?

+0

私は 'JavaScript SDK'を使用できません。どのように多くの情報でリクエストをダウンロードするようにサーバーを設定するのですか? –

0
$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']."' />";  
} 
+0

質問は友達の友達リストを取得することでした。あなたの答えは、ログインしたユーザーの友人リストを与えるでしょう。 –

関連する問題