Tiffany Israel
Tiffany Israel

Reputation: 480

Facebook Graph API parse JSON feed with PHP

I am trying to use php to parse a JSON feed of posts using Facebook Graph API

I found the following solution for comments...

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

This is the url id I'm working with: https://graph.facebook.com/210849652406/feed/?access_token={VALID_USER_TOKEN}

I just don't know how to call the items for this feed. I'm trying to make the comments parse with this post/feed but I get essentially nothing. I want the basic items like name of the post, caption, etc. I think if I just could get the name of the post I could figure it all out!

Upvotes: 7

Views: 16664

Answers (3)

koenoe
koenoe

Reputation: 110

Why aren't you using the PHP SDK?

https://developers.facebook.com/docs/reference/php/

Upvotes: 0

SoWhat
SoWhat

Reputation: 5622

You are looping incorrectly

try this

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 />';
}

Upvotes: 7

brian_d
brian_d

Reputation: 11395

Do you have warnings/errors displayed? Ensure that you have extension=php_openssl.dll (or .so) enabled in your php.ini or you will get no results. This is because you are fetching from a secure site.

Also $item->name is an undefined property in the JSON. Perhaps you mean $item->id. Everything else looks ok.

Upvotes: 0

Related Questions