用PHP中的Facebook Graph API解码JSON字符串

时间:2018-01-04 15:30:14

标签: php json facebook facebook-graph-api

所以在这里我试图解码php中的帖子和评论,但由于我对JSON不太了解,我坚持到这里并且不知道还有什么代码来解码来自Graph的URL API I已经制作完成。        

   $group_id ="1xxxxxxxxxxx3"; 
   $access_token ="xxxxxxxxxxxxxx";
   $url = "https://graph.facebook.com/v2.11/" . $group_id . "/feed 
   fields=comments{comments{message,from},message,from},message,from
   &access_token=".$access_token;

   $json= file_get_contents($url);
   $obj = json_decode($json, true);

 ?>

我真的需要你的帮助,也许就我现在遇到的问题给我一些解释。

结果应该是这样显示的。  This is the result from the facebook page itself, I need these to come out in my own localhost pages

4 个答案:

答案 0 :(得分:1)

显示整个JSON对象:

print_r($obj);

然后你分析它的结构,并使用“foreach”相应地循环。

答案 1 :(得分:1)

如果我理解正确,那么接下来要做的就是确定它是否已解码并显示?您可以尝试使用此类json_last_error()

   $group_id ="1xxxxxxxxxxx3"; 
   $access_token ="xxxxxxxxxxxxxx";
   $url = "https://graph.facebook.com/v2.11/" . $group_id . "/feed 
   fields=comments{comments{message,from},message,from},message,from
   &access_token=".$access_token;

   $json= file_get_contents($url);
   $obj = json_decode($json, true);

   if( json_last_error()==JSON_ERROR_NONE ){
    echo '<pre>',print_r( $obj, true ),'</pre>';
   } else {
    echo 'json error: '.json_last_error();
   }

答案 2 :(得分:0)

我认为您还没有执行过该网址。您需要先执行URL才能从Facebook图形API获取响应。像

这样的东西
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $url); 
        curl_setopt($ch, CURLOPT_HEADER, TRUE); 
        curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
        $head = curl_exec($ch); 
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
        curl_close($ch); 
        var_dump($head);

答案 3 :(得分:0)

如果你能更详细地回答你的问题。你解密了Json吗?如果是,则可以使用JavaScript内置函数JSON.parse()将字符串转换为JavaScript对象,并使用页面中的对象。