0

私は2つのフェイスブックアカウントです。1 つはテスト用 (600 人の友人がいる) で、もう 1 つは開発用 (5 人の友人) です。コードを使用してユーザーの友人のすべてのIDを取得しようとしています

function get_photo($access_token){
    // Run fql query 
    $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q=SELECT+pid+,object_id+,owner+FROM+photo+WHERE+owner+=+me()+OR+owner+IN+(SELECT+uid2+FROM+friend+WHERE+uid1+=+me())+LIMIT+50'
    . '&access_token=' . $access_token;
     // First logically check the result, TRUE: Result is passed to $fql_query_result.
  //                                   FALSE: $flq_query_result = 0 or false.
  $fql_query_result = file_get_contents($fql_query_url)?file_get_contents($fql_query_url):0;
  // Only json_decode the result if it was valid.
  $fql_query_obj = (!$fql_query_result == 0) ? json_decode($fql_query_result, true) : "FQL was not a valid query";

  //display results of fql query
  echo '<pre>';
  //print_r("query results:");
  print_r($fql_query_obj);
  echo '</pre>';
  return $fql_query_obj;}

次の権限を取得しました user_about_me,read_stream,user_activities,email,user_location,user_photos,friends_photos,publish_actions,user_birthday,user_likes,read_insights,read_insights,user_status';

問題は、コードが開発者アカウントから機能することですが、テスト アカウントで次のエラーが発生します。

file_get_contents(https://graph.facebook.com//fql?q=SELECT+pid+,object_id+,owner+FROM+photo+WHERE+owner+=+me()+OR+owner+IN+(SELECT+uid2+FROM+friend+WHERE+uid1+=+me())+LIMIT+50&access_token=AAAEEKwQN3CMBAEUC6DqfakwkSZCdeLI2zk5Ec2evZBJvZB14Nh9e4ZBs8bOOw36F9T2winWRyzSx3vSCcWOl4A80AgcOjEvft1sbW7MLeEE2cyVPCIAb): failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error in /var/www/JMJ_test/facebook_include1.php on line 190
FQL was not a valid query
4

1 に答える 1

1

他の API でこの問題を発見しました。通常、コードに問題はありませんが、アカウントの友達の数に問題はありません。dev は 5 人のフレンドしかいませんが、testing は 600 人のフレンドがいるために機能しません。すぐにあなたの限界を見つけようとします。 編集

申し訳ありませんが、制限を見つけることができませんでしたが、iP ごとに 600 秒あたり約 600 リクエストを読み取りました。それが何か関係があるかどうかはわかりません。

于 2012-11-14T17:18:15.760 に答える