Decode json string returned from Flickr API using PHP, curl

Globalz picture Globalz · May 2, 2010 · Viewed 11.8k times · Source

Im trying to decode a json string returned from flickr within my PHP code. Im using CURL but it keeps returning a string even when I wrap json_decode() around the json sring variable. Any ideas?

$api_key = '####';
$photoset_id = '###';

$query = 'http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key='.$api_key.'&photoset_id='.$photoset_id.'&extras=url_o,url_t&format=json&jsoncallback=1';

$ch = curl_init(); // open curl session

// set curl options
curl_setopt($ch, CURLOPT_URL, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
$data = curl_exec($ch); // execute curl session
curl_close($ch); // close curl session
var_dump(json_decode($data));

Answer

xmarcos picture xmarcos · May 9, 2010

Your request URL ends with:

&format=json&jsoncallback=1';

The correct name of the parameter is nojsoncallback, so the right URL you should be using ends like this:

&format=json&nojsoncallback=1';

Change that and it should work.

Regards.