Este é um post disponível para assinantes MVPIntegração com Google Docs - Revista .Net Magazine 93
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, in
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 93
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.
Após a autenticação no Google, o acesso as APIs pode ser feito via requisições HTTP POST ou GET. Com estas requisições, os dados são transferidos na forma de Feeds de dados. Cada feed é referente a uma URL. Por exemplo, a url docs.google.com/feeds refere-se aos feeds dos documentos do usuário, e é por meio dele que é feito acesso aos documentos . Um Feed contém um ou mais elementos Entry, que representam as entradas de dados, ou seja, os itens presentes no Feed.
O xml a seguir (Listagem 1) apresenta um exemplo de conteúdo acessado em uma planilha presente no Google Docs, utilizando o serviço de Spreadsheet.
Listagem 1. Resultado do uso do serviço de SpreadSheet
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'>
<id>https://spreadsheets.google.com/feeds/spreadsheets/private/full</id>
<updated"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


1
0
