Accueil du site > Flickr Store > Se connecter à Flickr

Se connecter à Flickr

vendredi 19 décembre 2008, par Fil

Nous ferons usage de la librairie phpFlickr http://phpflickr.com/ développée par Dan Coulter pour piloter l’interface de programmation (API) de Flickr http://flickr.com/services/api/.

Un script PHP en ligne de commande

Première étape : créer un script PHP accessible en ligne de commande. Pour cela il faut vérifier que php est exécutable sur la machine :

On stocke ce script dans le fichier flickrstore et on l’invoque en le rendant exécutable (chmod +x flickrstore), puis en l’appelant en ligne de commande :

> ./flickrstore
php OK

Quelques lignes de code supplémentaires permettront de vérifier qu’on dispose bien d’une version de PHP suffisamment récente et dotée des librairies indispensables.

Il faut notamment télécharger phpFlickr, en prenant le paquet zip proposé sur le site http://phpFlickr.com/.

Créer un objet phpFlickr

On va ensuite instancier un objet phpFlickr. Celui-ci est doté de méthodes (fonctions) qui lui permettent de dialoguer avec l’API de Flickr. Flickr exige de pouvoir contrôler l’usage fait par les différents scripts qui exploitent son API : pour cela ils imposent au développeur de solliciter une clé sur leur site. Cette clé se compose de deux parties : key et secret, que nous obtenons sur http://flickr.com/services/api (“Apply for a new API key”) et stockons dans un fichier api_key.inc :

Dans ce premier exemple nous lui faisons lister les deux photos les plus récentes du site.

Le résultat est un tableau en PHP qui donne les éléments d’identification de ces deux photos :

Array
(
   [page] => 1
   [pages] => 500
   [perpage] => 2
   [total] => 1000
   [photo] => Array
       (
           [0] => Array
               (
                   [id] => 3120281934
                   [owner] => 21199371@N04
                   [secret] => 1d21294ec4
                   [server] => 3143
                   [farm] => 4
                   [title] => 05122008094
                   [ispublic] => 1
                   [isfriend] => 0
                   [isfamily] => 0
               )

           [1] => Array
               (
                   [id] => 3120281900
                   [owner] => 29002449@N02
                   [secret] => 28aa2e5344
                   [server] => 3179
                   [farm] => 4
                   [title] => IMG_0764
                   [ispublic] => 1
                   [isfriend] => 0
                   [isfamily] => 0
               )
       )
)

La librairie phpFlickr propose une méthode permettant de calculer l’URL d’une photo à partir de son identification (cf. http://www.flickr.com/services/api/...) :

donne :

http://farm4.static.flickr.com/3179/3120286846_60e3f471e6.jpg IMG_1613
http://farm4.static.flickr.com/3121/3119459869_9af9bb32a6.jpg Imari