Thread: FlickR API

  1. #1
    Unrach's Avatar
    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:
    Code:
    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";}
    Het enig wat ik er uit kan halen is
    PHP Code:
    echo $flickr['stat']; 
    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:
    $flickr['photosets']['title'
    Maar daar zit het probleem dus, ik zou niet weten hoe omdat ik de structuur van die xml niet 100% door heb.

    Iemand die hier wat verstand van heeft een kleine simpele uitleg kan geven?

    Alvast hartelijk dank!
    Cinecom: Videoproducties voor bedrijven.
    no votes  

  2. #2
    Zero Grav's Avatar
    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  

  3. #3
    Unrach's Avatar
    Registered
    29/08/08
    Location
    Hasselt
    Posts
    1,008
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/2
    Quote Originally Posted by Zero Grav View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    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:

    PHP Code:
     $flickr unserialize((file_get_contents($url)); 
    Ik dacht dat die "file_get_contents" ongeveer hetzelfde was al json_decode?
    Cinecom: Videoproducties voor bedrijven.
    no votes  

  4. #4
    W0utR's Avatar
    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.
    Reads entire file into a string
    PHP: file_get_contents - Manual
    PHP: json_decode - Manual
    no votes  

  5. #5
    Unrach's Avatar
    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:
    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); 
    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!
    Cinecom: Videoproducties voor bedrijven.
    no votes  

  6. #6
    dJeez's Avatar
    Registered
    17/07/02
    Location
    Sol System
    Posts
    10,064
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/78
    Quote Originally Posted by Unrach View Post
    This quote is hidden because you are ignoring this member. Show
    Dit is de xml structuur dat ik binnenkrijg:
    Code:
    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";}
    Quote Originally Posted by Zero Grav View Post
    This quote is hidden because you are ignoring this member. Show
    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.
    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 alieno
    Pastafarian by choice
    no votes  

  7. #7
    Unrach's Avatar
    Registered
    29/08/08
    Location
    Hasselt
    Posts
    1,008
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    2/2
    Quote Originally Posted by dJeez View Post
    This quote is hidden because you are ignoring this member. Show
    @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 .
    Ja ik had gezien bij de documentatie van flickr dat je ook de method "JSON" kon opgeven. Dus ik had die dan maar gepakt :-)
    Cinecom: Videoproducties voor bedrijven.
    no votes  

  8. #8
    Zero Grav's Avatar
    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  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in