如何使用php从Facebook Graph Api解析JSON格式的数据?

时间:2016-04-05 11:47:19

标签: php json parsing facebook-graph-api

我写了这个php代码,用json格式从网址中获取数据,看起来它有用,但我在数据库中没有得到任何东西

      <?php 
     session_start();
     $con= mysqli_connect("localhost","root","") or die ("could not connect     to mysql"); 
    mysqli_select_db($con,"facebook_data") or die ("no database"); 
    $url = "https://graph.facebook.com/209024949216061/feed?fields=created_time,from,type,message&access_token=XXXXXXXX";
   $ch = curl_init($url);
   curl_setopt($ch,CURLOPT_HEADER, false);
   $curlResponse = curl_exec($ch);

   $data = json_decode($curlResponse,TRUE);
 if (is_array($data) || is_object($data)) {
 foreach($data as $row){

     $id=$row["id"];
     $created_time=$row["created_time"];
     $type=$row["type"];
     $message=$row["message"];
     $user_id=$row["from"]["id"];
     $username=$row["from"]["name"];

     $sql="INSERT INTO group_feed(id, username, created_time, user_id, type, message) VALUES('$id','$username','$created_time','$user_id', '$type', '$message')";
       if(!mysql_query($sql,$con))
       {
    die('Error : ');
       }
     }
   }

 ?>

当我在浏览器中打开链接时,我将$ url与相应的access_token放在一起,它显示了JSON格式数据,问题可能在哪里?

1 个答案:

答案 0 :(得分:1)

$url = "http://graph.facebook.com/".$group_id."/feed/?access_token=".$token; $ch = curl_init($url); curl_setopt(CURLOPT_HEADER, false); $curlResponse = curl_exec($ch);

检查http://php.net/manual/en/book.curl.php以获取有关curl()

的更多信息

然后你必须使用$data = json_decode($curlResponse)解析卷曲响应。您将获得一个可以迭代的关联数组(foreachforwhile)。 只有您知道如何编写SQL查询。

注意:如果这不起作用,请查看curl_setopt()功能。