Utilisation des albums Web PicasaLes albums Web Picasa représentent un service Google permettant de maintenir à jour des albums photos, tout en pouvant récupérer des photos de l'album d'un membre. L'API propose des services pour ajouter, mettre à jour ou supprimer des photos d'un album, de même que gérer des mots-clés ou des commentaires sur des images(photos). L'accès public à un album, en lecture donc, n'est pas sujet à demande d'authentification. En revanche, toute autre manipulation telle que la mise à jour ou la suppression, nécessitera que vous vous authentifiez. Pour plus d'informations sur l'API, voyez » l'API Picasa Web Albums.
Se connecter au serviceL'API Picasa, comme tous les autres services Web Google Gdata, est basée sur le protocole Atom Publishing Protocol (APP), et le XML. Le trafic entre le client et le serveur se fait sur HTTP, et autorise des connexions authentifiées, ou non. Avant tout, il faut donc se connecter. Ceci se fait en deux étapes : créer un client HTTP, et insérer un Zend_Gdata_Photos dans celui-ci. AuthentificationL'API propose un accès à la fois aux données publiques, et aux données privées. Les données publiques ne requièrent pas d'authentification, mais ne sont accessibles qu'en lecture seule. L'écriture et l'accès aux données privées requièrent une authentification, qui peut s'effectuer de trois manières différentes :
La librairie Zend_Gdata permet ces 2 types d'authentification. Le reste de ce chapitre supposera que vous soyez habitué à l'authentification avec les service Web Google GData. Si ce n'est pas le cas, nous vous conseillons de consulter la section authentification de ce manuel, ou encore » le guide d'authentification Google GData webservices API. Créer une instance du servicePour interagir avec les serveurs, la classe Zend_Gdata_Photos sera nécessaire. Elle abstrait toute la logique de communication avec le Protocol Atom Publishing vers les serveurs de Google. Une fois que vous avez choisi une méthode d'authentification, vous devez créer une instance de Zend_Gdata_Photos. Le constructeur prend en paramètre une instance de Zend_Http_Client. Cette classe est l'interface AuthSub ou ClientAuth authentification. Si vous ne passez pas cette instance en argument, alors une instance de Zend_Http_Client sera crée automatiquement, mais en mode non authentifié. Voici un exemple qui démontre comment créer une classe vers le service avec le procédé d'authentification ClientAuth :
Au sujet du procédé AuthSub, voici la démarche :
Enfin, un client non authentifié peut aussi être crée :
Comprendre et construire des requêtesPour créer des requêtes vers le service Web, vous devrez utiliser une de ces classes :
Une
Pour chaque requête, des paramètres de limitations de la recherche peuvent être passés grâce aux méthodes get(Paramètre) and set(Paramètre) :
Récupérer des flux et des élémentsLe service propose des méthodes de récupération de flux, ou d'éléments simples, concernant les utilisateurs, albums, ou photos. Récupérer un utilisateur
Le service propose de récupérer un utilisateur, et toutes les infos de son
flux, comme ses photos, ses albums.... Si le client est authentifié et demande des
informations sur son propre compte, alors les éléments marqués comme
"
Le flux de l'utilisateur est accessible en passant son nom à la méthode
Ou alors, le flux peut être requêté directement :
Construire une requête donne aussi accès aux éléments d'un utilisateur :
Récupérer un albumLe service donne accès aux flux d'albums et à leurs contenus.
Le flux d'albums est disponible en construisant un objet de requête et en le
passant à
L'objet de requête accepte aussi un nom d'album avec
Construire une requête donne aussi accès au requêtage d'un album :
Récupérer une PhotoLe service permet la récupération de flux de photos, et des commentaires et/ou mots-clés associés
Le flux de photos est accessible en construisant un objet de requête et en le
passant à la méthode
Construire une requête donne aussi accès au requêtage d'une photo :
Récupérer des commentairesVous pouvez récupérer des commentaires depuis des éléments divers de flux. En spécifiant à votre requête un paramètre de "comment", celle-ci retournera les mots-clés associés à la ressource demandée (user, album ou photo) Voici comment effectuer des actions sur les commentaires récupérés d'une photo :
Récupérer des mots-clésVous pouvez récupérer des mots-clés depuis des éléments divers de flux. En spécifiant à votre requête un paramètre de "tag", celle-ci retournera les mots-clés associés à la ressource demandée. Voici comment effectuer des actions sur les mots-clés récupérés d'une photo :
Créer des ressourcesDes opérations de création sont possible, qu'il s'agisse d'albums, photos, commentaires, ou mots-clés. Créer un albumIl est possible de créer un album, pour les clients authentifiés :
Créer une photoCréer une photo est possible pour les clients authentifiés, procédez comme suit :
Créer un commentaire pour une photoIl est possible de créer un commentaire pour une photo, voici un exemple :
Créer un mot-clé pour une photoIl est possible de créer un mot-clé pour une photo, voici un exemple :
Supprimer des élémentsIl est possible de supprimer albums, photos, commentaires, et mots-clés. Supprimer un albumSupprimer un album est possible si le client est authentifié :
Supprimer une photoSupprimer une photo est possible si le client est authentifié :
Supprimer un commentaireSupprimer un commentaire est possible si le client est authentifié :
Supprimer un mot-cléSupprimer un mot-clé est possible, si le client est authentifié :
Gestion des accès concurrentsLes flux GData, dont ceux de Picasa Web Albums, implémentent un système d'accès concurrent qui empêche les changements avec écrasements par inadvertance. Si vous demandez l'effacement d'une ressource qui a été modifiée depuis votre dernière requête, alors une exception sera levée, sauf si vous demandez le contraire explicitement (dans un tel cas, la procédure d'effacement sera réessayée sur l'élément mis à jour).
Voici un exemple de gestion des versions et accès concurrent sur un effacement
avec
|
|