1

ほとんどのことはまったく初めてのことですが、基本的には雨の土曜日の午後に Facebook API をいじって、ちょっとした挑戦をしています。

このページの下部にあるコードを取得しました:-

http://developers.facebook.com/docs/reference/fql/

で、ちょっと変えました。基本的に、この時点で私がやろうとしているのは、友達の総数を画面に出力することです。これは、JSON クエリによって返されるレコードの数を返すのと同じくらい簡単だと思いますが、正しく取得できません。 . 私は何か間違ったことをしていることを知っていますが、何についてのポインタが必要です。現時点では、私のコードは 160 程度のはずの 1 しか返しません。

私のコードはここにあります(アプリID/シークレットを取り出しました):-

    <?php

  //Very basic code to pull out details about the logged in user.
  $app_id = 'myid';
  $app_secret = 'mysecret';
  $my_url = 'http://lab.2toria.com/facebook/test1.php';

  $code = $_REQUEST["code"];

 //auth user
 if(empty($code)) {
    $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
    . $app_id . '&redirect_uri=' . urlencode($my_url) ;
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
  }

  //get user access_token
  $token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code;
  $access_token = file_get_contents($token_url);

  // Run fql query
  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q=SELECT+uid2+FROM+friend+WHERE+uid1=me()'
    . '&' . $access_token;
  $fql_query_result = file_get_contents($fql_query_url);
  $fql_query_obj = json_decode($fql_query_result, true);

  //Now need to find a way to count the number of results returned in the array to get the number of facebook friends.
  for($a=0;$a<count($fql_query_obj);$a++)
  {
    $theCount++;  
  }

  echo '<pre>';
  print_r("Number of friends:");
  print_r($theCount);
  echo '</pre>';


?>

前もって感謝します。マット

4

2 に答える 2

1

よくわかりませんが、count($fql_query_obj)これは配列であるため、これは同じ値を返すはずなので、印刷できませんでしたか?

編集:Facebookが有効なjson_objectを返しているかどうかを確認しましたか?

于 2012-06-23T11:48:28.007 に答える
1

これを行う必要があります

for($a=0;$a<count($fql_query_obj['data']);$a++)

Facebook の応答には、元のデータを含む data プロパティがあるためです。

于 2012-06-23T11:51:19.847 に答える