De que se trata o artigo

Neste artigo será demonstrado como acessar documentos presentes no Google Docs utilizando uma aplicação WEB, por meio das APIs de dados do Google (GData). Serão expostos os conceitos e funções que envolvem as APIs relacionadas ao Google Docs, incluindo questões relacionadas ao protocolo e autenticação do serviço. Os conceitos abordados serão usados na construção de uma pequena aplicação cuja função é acessar planilhas presentes em uma determinada conta do Google Docs, utilizando a API Spreadsheet Data para realizar tal tarefa.

Em que situação o tema é útil

Integrar em um aplicativo os serviços do Google que são usados por diversas pessoas, até mesmo como soluções empresariais. O Google Docs faz parte desta gama de serviços, possibilitando a criação e compartilhamento de documentos com vários usuários. A integração deste serviço em aplicações .NET traz novas possibilidades de desenvolvimento e soluções, podendo servir, por exemplo, como um meio de armazenamento de documentos. O conhecimento da biblioteca cliente do .NET e dos recursos disponibilizados pelas APIs é o ponto de partida para o desenvolvedor criar aplicações que façam uso destes serviços.

Integração com Google Docs

O artigo começa apresentando a API de dados do Google (GData), passando pelas APIs do Google Docs, demonstrando seus conceitos, aplicações, formas de autenticação e o protocolo utilizado na comunicação entre a aplicação cliente e os serviços que fazem parte deste conjunto de bibliotecas. Em seguida, será desenvolvida uma aplicação com o objetivo de listar documentos existentes em uma determinada conta do Google Docs, mais especificamente, documentos do tipo planilha, denominados Spreadsheet, e mostrar o conteúdo dos mesmos. Para realizar tal tarefa, será utilizada a API Spreadsheet Data, que contém classes e métodos cuja função é possibilitar o acesso e manipulação dos dados presentes nas planilhas.

O Google Docs é uma ferramenta que permite criar documentos online e compartilhar os mesmos com outros usuários em tempo real. Este serviço vem evoluindo a cada dia, agregando cada vez mais novas funcionalidades e recursos. Atualmente, além da criação de documentos, é possível, entre outras funcionalidades, a tradução dos mesmos e até o reconhecimento de caracteres a partir de imagens, recurso este conhecido como OCR (Optical Character Recognition).

Imagine todos esses serviços e possibilidades integrados em aplicações .NET, sejam elas voltadas para o ambiente web ou desktop. Essa integração é possível graças às APIs de dados do Google, conhecidas como Google Data APIs (GData). Elas contêm classes que possibilitam acessar e manipular os diversos serviços disponibilizados pelo Google, por exemplo, o Google Calendar, Google Picasa Web, Google Analytics, Google Maps, entre outros, por meio de um protocolo que define as “regras” para a escrita e leitura de dados na web. Sendo assim, é possível criar aplicações clientes capazes de acessar toda gama de recursos disponibilizados, dentre eles, documentos presentes em contas do Google Docs, que é o foco deste artigo.

Google Data API

A API de dados do Google é formada por uma série de bibliotecas que proveem acesso aos diversos serviços do Google. Por exemplo, utilizando o YouTube Data API é possível realizar buscas, fazer upload e download de vídeos. A API Google Calendar Data possibilita, dentre outros recursos, recuperar eventos em formato de RSS feed. O GData .NET Client Library é a biblioteca disponibilizada pelo Google para desenvolver aplicações .NET que façam uso de suas APIs. Ela também está disponível para outras linguagens como Java, PHP, Pyton entre outras. Esta biblioteca contém classes que correspondem aos elementos e tipos utilizados pelas APIs. Até o momento da escrita deste artigo, as APIs relacionadas aos serviços do Google Docs se encontram na versão 3.0 e serão destacadas no próximo tópico.

APIs do Google Docs

A API Google Documents List faz parte das APIs de dados. As mesmas possibilitam a uma aplicação cliente acessar e manipular os dados de documentos armazenados no Google Docs, ou seja, por meio dela é possível interagir com o serviço, acessando e manipulando seus diversos recursos. Ela oferece suporte a: criação, recuperação, alteração e exclusão de documentos, alteração das permissões de compartilhamento, download e upload, cópia de documentos e pastas, etc.

A API Document List, porém, não permite alterar dados de documentos do tipo planilha, denominados Spreadsheets. Com ela é possível apenas criar e recuperar documentos deste tipo. Para ser possível a manipulação de dados, é necessário utilizar uma API própria denominada Spreadsheet Data. Por meio desta é possível ler os dados das planilhas, percorrendo as células e colunas das mesmas. A API Spreadsheet Data será utilizada na construção de uma pequena aplicação ainda neste artigo.

Estas duas APIs contêm classes e métodos que são capazes de acessar os serviços disponibilizados pelo Google Docs. Dentre elas, podemos destacar as classes DocumentListService e SpreadsheetService, que correspondem respectivamente aos documentos e planilhas do Google Docs, provendo acesso a estes serviços. A classe SpreadsheetService será vista com mais detalhes adiante.

Protocolo

O API GData possui um protocolo que possibilita a escrita e leitura de dados nos serviços disponíveis, conhecido como Google Data Protocol, baseado na arquitetura REST. O formato padrão deste protocolo é o Atom (Feed). O Atom nada mais é que um estilo baseado em conteúdo XML, muito utilizado na publicação e edição de fontes WEB.

Muitos serviços do Google proveem o acesso externo aos dados por meio de suas APIs baseadas neste protocolo, que suporta dois modos de acesso:

AtomPubs: A informação é enviada como uma coleção de itens Atom, usando o formato Atom Syndication, que representa dados para manipular as requisições. O Data Protocol estende o AtomPubs para processar consultas, autenticação e requisições batch.

JSON: Informações são enviadas via objetos JSON que espelham a representação Atom.

Nota do DevMan

Representational State Transfer, ou apenas REST, define um conjunto de princípios de arquitetura pelo qual você pode projetar Web Services com foco nos recursos do sistema, incluindo como os estados destes recursos são endereçados e transferidos via HTTP por uma ampla gama de aplicações clientes, escritas em diferentes linguagens. Esta arquitetura é uma alternativa aos Web Services baseados no protocolo SOAP (Simple Object Access Protocol) e na linguagem WSDL (Web Service Definition Language). A implementação de uma solução REST segue quatro princípios de design:

...
Quer ler esse conteúdo completo? Tenha acesso completo