Denoteone
Denoteone

Reputation: 4055

Show images from facebook using PHP and graph api photos

I am trying to show my thumbnails of photos from my facebook fan page. I have studied the facebook dev and graph api. Now I am trying to using php to automate the process and show the images on my photo page.

$facebook_album = file_get_contents("https://graph.facebook.com/10150101465621686/photos");

which returns the following data with the image data repeating for each image (see below):

{
   "data": [
      {
         "id": "10150101465701686",
         "from": {
            "name": "Lingua Language Academy",
            "category": "Organization",
            "id": "55206251685"
         },
         "picture": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_s.jpg",
         "source": "http://a4.sphotos.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_n.jpg",
         "height": 540,
         "width": 720,
         "images": [
            {
               "height": 540,
               "width": 720,
               "source": "http://a4.sphotos.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_n.jpg"
            },
            {
               "height": 135,
               "width": 180,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_a.jpg"
            },
            {
               "height": 97,
               "width": 130,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_s.jpg"
            },
            {
               "height": 56,
               "width": 75,
               "source": "http://photos-d.ak.fbcdn.net/hphotos-ak-ash4/185883_10150101465701686_55206251685_6497497_7724100_t.jpg"
            }
         ],
         "link": "http://www.facebook.com/photo.php?pid=6497497&id=55206251685",
         "icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yz/r/StEh3RhPvjk.gif",
         "created_time": "2011-02-22T02:41:02+0000",
         "position": 1,
         "updated_time": "2011-02-22T02:41:04+0000"
      },

My questions is... Is there an easy way to put the following info in an array that will be easy to loop through?

Something like so that it loops through the data and puts the value of picture in the image src.

foreach( $facebook_album as $key => $value){
    echo "<img src='picture'/><br />";
}

Upvotes: 3

Views: 5252

Answers (3)

Uday Hiwarale
Uday Hiwarale

Reputation: 4167

Use following code (php sdk)

if($user_id){
            // We have a user ID, so probably a logged in user.
            // If not, we'll get an exception, which we handle below.
            try{
                $user_profile = $facebook->api('/me','GET');
                $photos = $facebook->api("/me/photos");

......
...
..
}

Start showing photos one by one

foreach($photos['data'] as $photo){
                    echo "<p><img src='";
                    echo $photo['images'][0]['source'];
                    echo "'/></p>";
                }

Upvotes: 0

Michael L Watson
Michael L Watson

Reputation: 980

This seemed to work for me

$dataArr = json_decode($facebook_album,true);
foreach($dataArr['data'] as $d){    
    echo "<img src=\"".$d['source']."\"><br>";
}

Upvotes: 1

DhruvPathak
DhruvPathak

Reputation: 43265

Why don't you try json_decode of the json data ?

http://php.net/manual/en/function.json-decode.php

$dataArr = json_decode($dataStr,true);

$imageArr = $dataArr["images"];

Upvotes: 4

Related Questions