|
<< Click to Display Table of Contents >> Google Picasa API - Básico |
![]() ![]()
|
Objetivo
Criar albuns no Google PicasaWeb e exibi-los numa página asp.net
O que vai precisar
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/>");
}
}
}
}