Facebook Graph API使用PHP解析JSON提要

时间:2012-02-03 19:21:57

标签: php json facebook facebook-graph-api

我正在尝试使用php使用Facebook Graph API解析帖子的JSON提要

我找到了以下解决方案......

<?php 

$request_url ="https://graph.facebook.com/comments/?

ids=http://www.youtube.com/watch?v=fyF-fj-1coY&feature=player_embedded";
$requests = file_get_contents($request_url);

$fb_response = json_decode($requests);




foreach ($fb_response as $key => $response) {
  foreach ($fb_response->$key as $data) {
    foreach ($data as $item) {
      echo 'NAME: ' . $item->name . '<br />';
      echo 'From ID: ' . $item->from->id . '<br />';
      echo 'From Name: ' . $item->from->name . '<br />';
      echo 'Message: ' . $item->message . '<br />';
      echo 'Timestamp: ' . $item->created_time . '<br /><br />';
    }
  }
} 
    ?>

这是我正在使用的网址ID:https://graph.facebook.com/210849652406/feed/?access_token= {VALID_USER_TOKEN}

我只是不知道如何调用此Feed的项目。我试图用这个帖子/提要来解析评论,但我基本上什么都没有。我想要基本的项目,如帖子的名称,标题等。我想如果我能得到帖子的名字,我可以把它弄清楚!

3 个答案:

答案 0 :(得分:7)

您循环错误

试试这个

foreach($fb_response->data as $item){
echo 'Message: ' . $item->message . '<br />';//there is no name returned on a comment
echo 'From ID: ' . $item->from->id . '<br />';
 echo 'From Name: ' . $item->from->name . '<br />';
 echo 'Message: ' . $item->message . '<br />';
 echo 'Timestamp: ' . $item->created_time . '<br /><br />';
}

答案 1 :(得分:0)

您是否显示警告/错误?确保您在php.ini中启用了extension=php_openssl.dll(或.so),否则您将无法获得任何结果。这是因为您是从安全站点获取的。

此外,$item->name是JSON中的未定义属性。也许你的意思是$item->id。其他一切看起来还不错。

答案 2 :(得分:0)