Accueil du site > Flickr Store > Etablir la liste de nos photos

Etablir la liste de nos photos

vendredi 19 décembre 2008, par Fil

Maintenant qu’on est connecté et authentifié, on va récupérer la liste de nos photos sur le site.

Ici c’est très simple ; on utilise la requête flickr.photos.search en précisant 'user_id'=>$token['user']['nsid'] :

Et on obtient :

http://farm4.static.flickr.com/3219/3118382945_eeca6f02c1.jpg Futur couloir
http://farm4.static.flickr.com/3131/3118355155_a9ed8ab55d.jpg Artefact
http://farm4.static.flickr.com/3127/3118255815_a443427c23.jpg Pressoir
http://farm4.static.flickr.com/3126/3118131019_41ee8b848b.jpg Passerelle
http://farm4.static.flickr.com/3178/3118887176_fd7c172ebd.jpg Le puits
http://farm4.static.flickr.com/3294/3118651022_d1bac3307a.jpg Muizenberg
...

La liste ne contient que les photos publiques, car on n’a pas utilisé notre token :

Ici, comme on donne le token, il n’est pas nécessaire de préciser le user_id ; on peut se contenter du raccourci me.

On remarque maintenant que la liste est limitée aux 100 dernières images uploadées sur le site. L’API permet une pagination, mais limite de toutes façons les requêtes à 500 images : il faudra donc faire plusieurs appels pour être sûr de tout récupérer. On crée donc une nouvelle méthode :

A noter : notre requête demande plusieurs extras : original_format,date_taken,tags, métadonnées dont nous auront besoin par la suite.

Et voilà :

Requesting page 1
Requesting page 2/28
Requesting page 3/28
...
Requesting page 28/28
http://farm4.static.flickr.com/3247/3120416254_a524856996.jpg DSC02696
http://farm4.static.flickr.com/3087/3119587359_ae811001f1.jpg DSC02695
http://farm4.static.flickr.com/3197/3119586965_c55da65949.jpg DSC02694
http://farm4.static.flickr.com/3241/3119586575_a3164da6c1.jpg DSC02693
http://farm4.static.flickr.com/3197/3119586129_44cf8184f7.jpg DSC02692
http://farm4.static.flickr.com/3216/3120413986_231c8b8ea4.jpg DSC02691
...

Bien entendu, comme il peut y avoir beaucoup de photos (j’en ai plus de 15 000), on va mettre ça en cache, cache qu’on va invalider dès qu’il sera jugé trop vieux.

On peut maintenant jouer avec ces données, pour afficher les titres, ou les tags etc. :

La structure de $photo est la suivante :

Array
(
   [id] => 3119605761
   [owner] => 82626280@N00
   [secret] => db062ac947
   [server] => 3295
   [farm] => 4
   [title] => DSC02740
   [ispublic] => 0
   [isfriend] => 0
   [isfamily] => 0
   [originalsecret] => 856912a29f
   [originalformat] => jpg
   [datetaken] => 2008-06-08 10:40:28
   [datetakengranularity] => 0
   [tags] => upload test fil
)

Ces données permettent de savoir si la photo est publique ou privée, réservée à la famille ou aux amis ; elles contiennent aussi titre, date de prise de vue, tags, ainsi qu’un « secret » qui permet de déterminer l’URL de la photo même si elle est privée.