Google Picasa API - Básico

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > Dicas avançadas > Google Picasa >

Google Picasa API - Básico

Previous pageReturn to chapter overviewNext page

Objetivo

 

Criar albuns no Google PicasaWeb e exibi-los numa página asp.net

 

O que vai precisar

 

Google Data API SDK

 

Como fazer

 

Adicione as referências do Google Data API (geralmente C:\Program Files (x86)\Google\Google Data API SDK\Redist):

 

Google.GData.Client.dll

Google.GData.Extension.dll

Google.GData.Photos.dll

 

Agora num projeto novo (webforms) adicione o seguinte código

 

using System;

using Google.GData.Photos;

using Google.Picasa;

 

namespace WebApplication2

{

  public partial class Default : System.Web.UI.Page

   {

      public PicasaService service;

      private const string USUARIO_PICASA = "cabanha.guinther";

      private const string SENHA_PICASA = "guinther123";

 

      protected void Page_Load(object sender, EventArgs e)

       {

          if (!IsPostBack)

               ExibirAlbuns();

       }

 

      // esta rotina retorna um "service" que conectar no servico do picasa usando usuário e senha

      private PicasaService GetPicasaLogin()

       {

          PicasaService picasaService = new PicasaService("Picasa");

           picasaService.setUserCredentials(USUARIO_PICASA, SENHA_PICASA);

          return picasaService;

       }

 

      // lista todos os álbuns do usuário

      public void ExibirAlbuns()

       {

          AlbumQuery query = new AlbumQuery(PicasaQuery.CreatePicasaUri(USUARIO_PICASA));

 

           service = GetPicasaLogin();

 

          PicasaFeed feed = service.Query(query);

 

          foreach (PicasaEntry entry in feed.Entries)

           {

               Response.Write("TITULO: <strong>" + entry.Title.Text + "</strong><br/>");

              Album album = new Album();

               album.AtomEntry = entry;

 

              // obter dados dos albuns

               Response.Write("FOTO CAPA: " + entry.Media.Thumbnails[0].Attributes["url"] as string + "<br/>");

               Response.Write("Nº DE FOTOS: " + album.NumPhotos + "<br/>");

               Response.Write("TITULO: " + album.Title + "<br/>");

               Response.Write("ID: " + album.Id + "<br/><hr/>");

           }

 

          // para exibir as fotos de um album utilize:

          // ExibirFotos("5702002963017296513"); ou ExibirFotos(album.Id);

       }

 

      // função retornar as fotos de um álbum com base em seu ID

      public void ExibirFotos(string AlbumID)

       {

          // pesquisa pelas fotos usando um PhotoQuery

          PhotoQuery queryfoto = new PhotoQuery(PicasaQuery.CreatePicasaUri(USUARIO_PICASA, AlbumID));

          PicasaFeed feedfoto = service.Query(queryfoto);

 

          string contentUrl, firstThumbUrl;

 

          foreach (PicasaEntry entry in feedfoto.Entries)

           {

               Response.Write("<strong>TITULO: " + entry.Title + "</strong><br/>");

              // pega o URL do da foto

               contentUrl = entry.Media.Content.Attributes["url"] as string;

               Response.Write("FOTO: " + contentUrl + "<br/><br/>");

 

              // obtem todas as miniaturas disponivels (3)

              for (int i = 0; i < entry.Media.Thumbnails.Count; i++)

               {

                   firstThumbUrl = entry.Media.Thumbnails[i].Attributes["url"] as string;

                   Response.Write("Miniatura [" + i.ToString() + "] :   " + firstThumbUrl + "<br/>");

               }

               Response.Write("<br/><hr/>");

           }

       }

   }

}