0

私は現在、Facebook の PHP API を使用して、共通の友人のデータを収集しています。私は現在、ここで提案されているようにクエリを実行しています: Facebook 相互の友人と FQL 4999/5000 レコード制限、 array_chunk メソッドを使用します。上記のエラーがスローされた理由として考えられることは何ですか? 考えられるリソースの制限は何ですか?

最初は、php スクリプトのメモリ制限を 128MB に増やそうとしましたが、memory_get_usage(true) を使用したところ、上記をキャッチすると、それよりもはるかに少ない数値になりました (変換後は 3MB 未満でした)。言及された Facebook エラー。

これは Facebook によるリソース制限ですか、それとも私のスクリプトですか?

ここに私の書かれたコードがあります:

$chunked_friends = array_chunk($all_friends_id, 100); // we use 100 for now, if there is loss of information, then we consider another way

foreach ($chunked_friends as $array) {
  $mutualfriends = $facebook->api(array(
    'method' => 'fql.query',
    'query' => 'SELECT uid1, uid2 FROM friend 
                WHERE uid2 IN 
                (SELECT uid2 FROM friend WHERE uid1=me())   
                AND uid1 < uid2 
                AND uid1 IN ( '. implode(', ', $array) .' )'
    ));

  foreach ($mutualfriends as $mutualfriend) {
        $returned_array["links"][] = array("source" => $mutualfriend['uid1'], "target" => $mutualfriend['uid2']);
  }
    usleep(200000);
}

編集: 現在、heroku を使用してアプリを開発しています。

4

2 に答える 2

0

最後に、バッチ リクエストを使用しましたが、これで問題が解決したようです。FBも実際にはどちらも言っていないので、API呼び出しが多すぎるとはどういうことなのか正確にはわかりません。

于 2012-06-19T06:36:42.477 に答える
0

これは Facebook によるリソースの制限ですか?

はい。

アプリのインサイト (セクション「API」) をチェックして、それがアプリケーションに固有のもの (一定期間のリクエストが多すぎる/大きすぎる) かどうかを確認します。

于 2012-06-18T08:41:24.173 に答える