Reputation: 4055
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
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
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
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