Thread: FlickR API
-
09-11-2011, 23:48 #1Approved 9-lifer
- Registered
- 29/08/08
- Location
- Hasselt
- Posts
- 1,008
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
FlickR API
Hey allemaal,
Ik ben nu al bijna 3 uur aan't klungelen om met de API van flickr te werken. Het is mij eindelijk gelukt om de (soort van) xml in te lezen. Ik gebruik de method php_serial.
Nu mij dat gelukt is, wil ik de informatie nog uitlezen. Maar daarvoor zou ik eerst de structuur moeten snappen. Blijkbaar is er geen duidelijk voorbeeld te vinden op het internet, want ik zit mij al de hele tijd kapot te zoeken.
Dit is de xml structuur dat ik binnenkrijg:
Het enig wat ik er uit kan halen isCode:a:2:{s:9:"photosets";a:5:{s:4:"page";i:1;s:5:"pages";i:1;s:7:"perpage";i:2;s:5:"total";i:2;s:8:"photoset";a:2:{i:0;a:16:{s:2:"id";s:17:"72157628091894136";s:7:"primary";s:10:"6329122755";s:6:"secret";s:10:"3a828baa2f";s:6:"server";s:4:"6226";s:4:"farm";d:7;s:6:"photos";s:1:"3";s:6:"videos";i:0;s:5:"title";a:1:{s:8:"_content";s:12:"Landschappen";}s:11:"description";a:1:{s:8:"_content";s:0:"";}s:18:"needs_interstitial";i:0;s:22:"visibility_can_see_set";i:1;s:11:"count_views";s:1:"1";s:14:"count_comments";s:1:"0";s:11:"can_comment";i:0;s:11:"date_create";s:10:"1320867101";s:11:"date_update";s:10:"1320867104";}i:1;a:16:{s:2:"id";s:17:"72157627966673565";s:7:"primary";s:10:"6328509117";s:6:"secret";s:10:"54c414296e";s:6:"server";s:4:"6111";s:4:"farm";d:7;s:6:"photos";s:1:"4";s:6:"videos";i:0;s:5:"title";a:1:{s:8:"_content";s:10:"Portretten";}s:11:"description";a:1:{s:8:"_content";s:0:"";}s:18:"needs_interstitial";i:0;s:22:"visibility_can_see_set";i:1;s:11:"count_views";s:1:"0";s:14:"count_comments";s:1:"0";s:11:"can_comment";i:0;s:11:"date_create";s:10:"1320866486";s:11:"date_update";s:10:"1320866620";}}}s:4:"stat";s:2:"ok";}
Dit staat op het einde van de xml en geeft mij de waarde "ok" terug. Waarschijnlijk moet ik een paar nodes doorkrossen en zo iets neertypen:PHP Code:echo $flickr['stat'];
Maar daar zit het probleem dus, ik zou niet weten hoe omdat ik de structuur van die xml niet 100% door heb.PHP Code:$flickr['photosets']['title']
Iemand die hier wat verstand van heeft een kleine simpele uitleg kan geven?
Alvast hartelijk dank!Cinecom: Videoproducties voor bedrijven.no votes
-
-
09-11-2011, 23:55 #2Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Dat is JSON, als ge json_decode uitvoert op dat resultaat gaat ge gewoon een php array krijgen met uw foto's in enzo. Daarmee dat het ook gewoon een veel te zalig formaat is.
no votes
-
10-11-2011, 01:04 #3Approved 9-lifer
- Registered
- 29/08/08
- Location
- Hasselt
- Posts
- 1,008
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Ah oke, merci. Daar had ik iets van tegen gekomen ja. Ik ga het morgen eens proberen. Maar wilt dat dan zeggen dat ik deze omzetting moet weglaten:
Ik dacht dat die "file_get_contents" ongeveer hetzelfde was al json_decode?PHP Code:$flickr = unserialize((file_get_contents($url));
Cinecom: Videoproducties voor bedrijven.no votes
-
10-11-2011, 12:13 #4Member
- Registered
- 16/04/08
- Location
- Hong Kong
- Posts
- 1,989
- iTrader
- 6 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 7/9
file_get_contents doet exact wat de naam zeg, namelijk haal de content uit een file.
PHP: file_get_contents - ManualReads entire file into a string
PHP: json_decode - Manualno votes
-
10-11-2011, 21:27 #5Approved 9-lifer
- Registered
- 29/08/08
- Location
- Hasselt
- Posts
- 1,008
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Merci voor de reacties allemaal. Het is mij gelukt :-)
Dit is de inlees metode da ik gedaan heb:
Toen heb ik een print_r gedaan op mijn $photosets_list. Al die gegevens heb ik in textedit geplaatst en een mooie bladspiegel van gemaakt. Samen met de documentatie die jullie me gegeven hebben, heb ik zo de logica door kunnen krijgen om specifieke gegevens uit te lezen!PHP Code:$photosets_list = json_decode(file_get_contents("http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=" . $api_key . "&user_id=" . $flickr_id . "&format=json&nojsoncallback=1"), true);
Cinecom: Videoproducties voor bedrijven.no votes
-
10-11-2011, 22:04 #6Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Toch even corrigeren want dat is geen JSON, dat is een serialized PHP string. Om exact te zijn : een associatieve array bestaande uit 2 elementen, met name "photosets" (met 5 elementen) en "stat" met waarde "ok". Je kan dat overigens makkelijk zien door de hele rimram de deserializen (kan online op vb. Online PHP Unserializer).
@Unrach: Via unserialize moet je die specifieke output kunnen lezen. Maar ik zie dat je ondertussen wel de manier hebt gevonden om effectief JSON via Flickr binnen te krijgen. Dus eigenlijk doet het er niet echt meer toe
.
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
10-11-2011, 22:06 #7Approved 9-lifer
- Registered
- 29/08/08
- Location
- Hasselt
- Posts
- 1,008
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
no votes
-
12-11-2011, 14:58 #8Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Lol, my bad, ik zag curly brackets en Flickr API en 'k was vertrokken.
no votes

