Si l’on souhaite exploiter nos photos perso sur notre compte, notamment pour lire les photos privées ou en ajouter de nouvelles, il faut maintenant pouvoir s’authentifier. C’est la partie la plus compliquée du script.
Le principe consiste à demander un code frob
, puis à le faire autoriser par l’utilisateur. Une fois ce frob
autorisé, on obtient un token
, qu’on stocke précieusement car il constitue notre ticket d’entrée authentifiée sur l’API.
Nous allons enregistrer notre application comme « Desktop App », en cochant la case correspondante dans les réglages de l’API key sur le site Flickr :
Tout d’abord, une fonction pour écrire dans un fichier :
et voici notre code pour demander un frob, donner à l’utilisateur l’url de validation, puis au tour suivant demander un token :
On obtient alors notre sésame :
Array
(
[token] => 72157611262255979-3d38abdacbcf5df0
[perms] => delete
[user] => Array
(
[nsid] => 82626280@N00
[username] => Fil+
[fullname] => Fil
)
)
Les différents niveaux de permission sont read
, write
, delete
. Ici on choisit delete
pour avoir les coudées franches, mais si votre application ne fait que de la lecture des données, il est préférable d’utiliser read
, et si elle modifie (par exemple titre ou tags) mais n’efface jamais de photo : write
suffit.
A noter : on enregistre lefrob
puis letoken
dans le répertoire de préférences~user/.flickrstore/
; en cas d’échec il faut effacer ces fichiers pour recommencer.L’authentification décrite ici correspond à l’authentification « desktop » pour un script lancé en ligne de commande. Pour l’authentification « web », c’est différent : le
token
sera enregistré dans la session de l’utilisateur ; on pourra diriger automatiquement le navigateur sur l’URL de confirmation, qui le redirigera à son tour, après avoir validé lefrob
, sur une adressecallback
qu’on aura fournie dans les réglages de l’API key sur le site.