使用PHP计算JSON结果中的记录

时间:2012-06-23 11:45:50

标签: php facebook json

对于大多数这些东西来说都是全新的,但基本上我正在下雨的星期六afernoon玩Facebook API以获得一些挑战。

我已经使用了本页底部的代码: -

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

并稍微改变了一下。基本上我此时尝试做的只是在屏幕上打印朋友的总数,我认为这就像返回JSON查询返回的记录数一样简单,但我可以'说得对。我知道我做错了什么但需要一个关于什么的指针。目前我的代码只返回1,它应该是160左右。

我的代码在这里(我已经取出了我的app id / secret): -

    <?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>';


?>

提前致谢。 垫

2 个答案:

答案 0 :(得分:1)

我不确定,但是你不能打印count($fql_query_obj),因为它现在是一个数组,它应该返回相同的值,不应该吗?

编辑:你有没有检查过Facebook是否有效的json_object?

答案 1 :(得分:1)

你应该这样做

  

为($一个= 0; $ A&LT;计数($ fql_query_obj [ '数据']); $一个++)

因为Facebook响应将包含一个包含原始数据的数据属性。