Pour obtenir la liste des albums disponible pour votre compte GooglePicasa, créez une nouvelle instance de PicasaNet.Picasa avec vos paramètres et le chemin des feuilles de transformation XSL nécessaires à la transformations. Les feuilles sont disponibles dans le projet PicasaNet et doivent être déployés manuellement dans votre solution Web ou Windows. PicasaNet en récupérant le flux de GooglePicasa, appliquera une transformation XSL pour obtenir une structure désérialisable.
PicasaNet.Picasa picasa = new PicasaNet.Picasa(ConfigurationManager.AppSettings["GooglePicasaUser"], ConfigurationManager.AppSettings["XslPath"]);
PicasaNet.ListOfAlbums _liste =
picasa.GetAlbumsList();
_liste est alors votre objet qui contient l'ensemble des informations des WebAlbums de votre compte.
Pour obtenir enfin la liste de vos images stockées dans un WebAlbum, il suffit de fournir à PicasaNet l'AlbumID ou l'AlbumName par la méthode GetAlbum.
PicasaNet.Picasa picasa = new PicasaNet.Picasa(ConfigurationManager.AppSettings["GooglePicasaUser"], ConfigurationManager.AppSettings["XslPath"]);
PicasaNet.PictureAlbum _album = picasa.GetAlbum(ConfigurationManager.AppSettings["GooglePicasaDemoAlbumID"]);
_album est désormais l'objet qui dispose de l'ensemble des images du WebAlbum.
Notre WebService attend deux paramètres, fournis par le contrôle Ajax PicasaNet. En l'état actuel de l'API GooglePicasa, seule la recherche par WebAlbum fonctionne.
[System.Web.Script.Services.ScriptService]
[WebService(Namespace = "http://www.laurentgeffroy.com/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
public class pictures : System.Web.Services.WebService
{
public pictures()
{
}
[WebMethod(Description="Get
Google Picasa Web Album pictures")]
[System.Web.Script.Services.ScriptMethod]
public PicasaNet.PictureAlbum PicasaRequest(string picasaAction, string picasaParam)
{ // set the return value PicasaNet.PictureAlbum v_result = null; // New PicasaNet objet with UserName and XSLT path for
transformation
PicasaNet.Picasa _img = new PicasaNet.Picasa(ConfigurationManager.AppSettings["GooglePicasaUser"], ConfigurationManager .AppSettings["XslPath"]);
// Set the Album name to retrieve _img.AlbumName = picasaParam; // Depending on action switch (picasaAction) { case "0":
// Get the list of Pictures from an album
v_result = _img.GetAlbum(); break; case "1": // Not implemented by Google // Get the list of Pictures from a tag break; } // Return the value return v_result; }
}
<picasa:PicasaSlideShowExtender runat="server"
ID="picasaSlideShow" PlayInterval="5000"
TargetControlID="PictureDestination"
AlbumIconID="IconImage" AlbumHyperLinkID="AlbumHyperLink"
ThumbnailImages="5" CurrentThumbailPictureCssClass="selectedThumbnail"
ThumbnailPanelID="thumb"SlideShowServicePath ="pictures.asmx"
SlideShowServiceMethod="PicasaRequest" ParamAction="ImagesFromAlbum"
ParamValue="5046867294354988737" AutoPlay="true"
ImageDescriptionLabelID="imageLabel1" NextButtonID="nextButton"
PlayButtonText="Play
SlideShow" StopButtonText="Stop
SlideShow"
PreviousButtonID="prevButton" PlayButtonID="playButton"
Loop="true" AllowImageAccess="false"/>
| Paramètres |
Description |
| PlayInterval |
Durée d'affichage d'une image en millisecondes |
| TargetControlID |
Nom du contrôle serveur asp:Image dans lequel l'image s'affichera |
| AlbumIconID |
Nom du contrôle serveur asp:Image dans lequel l'icône du WebAlbum s'afficher |
| AlbumHyperLinkID |
Nom du contrôle serveur asp:HyperLink dans lequel seront mis le nom et la description du WebAlbum |
| ThumbnailImages |
Nombre maximum de vignettes à afficher |
| CurrentThumbnailPictureCssClass |
Nom de la classe à utiliser pour faire ressortir la vignette actuellement affichée |
| ThumbnailPanelID |
Nom du contrôle serveur asp:Panel dans lequel seront mises les vignettes |
| SlideShowServicePath |
Chemin du WebService |
| SlideShowServiceMethod |
Nom de la WebMethod à utiliser dans le WebService |
| ParamAction |
Action à réaliser (issue d'une énumération) |
| ParamValue |
Valeur à passer au WebService, dépendante du ParamAction |
| AutoPlay |
Le déroulé des images doit-il démarrer ? |
| ImageDescriptionLabelID |
Nom du contrôle serveur asp:Label pour afficher le titre et la description de l'imafe |
| NextButtonID |
Nom du contrôle serveur de type Link Button ou Button pour accéder à l'image suivante |
| PreviousButtonID |
Nom du contrôle serveur du type LinkButton ou Button pour accéder à l'image précédente |
| PlayButtonText |
Texte à afficher dans le bouton d'arrêt ou de marche du déroulé pour le relancer |
| StopButtonText |
Texte à afficher dans le bouton d'arrêt ou de marche pour arréter le déroulé |
| PlayButtonID |
Nom du contrôle serveur de type Button destiné à démarrer ou arrêter le déroulé |
| Loop |
Reprend au début lorsqu'il est arrivé à la fin ? |
| AllowImageAccess |
Propose ou non le lien pour télécharger l'image originale |