Stephanie Liu, equipe de APIs de dados do Google
Setembro de 2007
- Introdução
- Como instalar dependências
- No Windows
- No Mac OS X
- No Linux
- Como instalar a biblioteca de cliente do Google Data
- Como executar exemplos
- Como criar seus próprios aplicativos
- Conclusão
- Apêndice: como definir variáveis de ambiente
Introdução
Nunca é fácil começar a desenvolver com uma API desconhecida. Por isso, este artigo tem instruções detalhadas sobre como baixar e instalar a biblioteca de cliente Java das APIs Google Data ("GData"). Vou mostrar como conseguir todas as dependências e definir as variáveis de ambiente necessárias. Em pouco tempo, você vai estar combinando diferentes serviços do GData!
Você usa o Eclipse?
Confira o artigo Coding in the Shade: Using Eclipse with Google Data APIs (em inglês).
Como instalar dependências
A biblioteca de cliente Java do GData tem as seguintes dependências externas. As seções a seguir descrevem como instalar essas dependências no seu sistema operacional favorito (ou no SO que você usa no trabalho).
- JDK (Java Development Kit) versão 1.5 ou mais recente
- Apache Ant versão 1.7 ou mais recente
- mail.jar na API JavaMail 1.4+ da Sun
- activation.jar no JavaBeansActivationFramework da Sun. Isso só é necessário para APIs específicas de mídia, incluindo a API Document List Data, a API Picasa Web Album e a API YouTube Data.
- servlet.jar na API Servlet da Sun versão 2.3 ou mais recente. Isso é necessário apenas se você executar exemplos de código nos pacotes "sample.authsub" ou "sample.gbase.recipe".
Algumas das dependências .jar
são necessárias apenas para amostras específicas, mas para evitar erros de build, é melhor pegar tudo. Escolha o sistema operacional para continuar: Windows, Mac OS X ou Linux.
No Windows
Instruções para o sistema operacional Windows.
Instalação do Java
O pacote de desenvolvimento Java está disponível na Sun na forma do JDK (Java Development Kit). O JRE (Java Runtime Environment) e tudo o mais que você precisa para escrever, compilar, testar e depurar aplicativos Java estão incluídos. Se você já tiver o Java instalado, pule para instalar o Ant.
Observação:é preciso ter permissões administrativas para instalar o JDK.
- Acesse http://java.sun.com/javase/downloads/index.jsp.
- Clique em "Baixar" ao lado da atualização mais recente.
- Leia e aceite o Contrato de licença.
- Faça o download de um dos arquivos de instalação do Windows.
- Execute o instalador.
- Edite a variável de ambiente
Path
para executar facilmente executáveis do JDK, como javac
. O caminho que você vai adicionar será algo como C:\jdk\bin\
. Consulte o Apêndice para instruções sobre como editar a variável Path
no Windows.
Se você tiver problemas para instalar o JDK, confira as instruções de instalação detalhadas no site da Sun.
Como instalar o Ant
O Apache Ant é uma ferramenta de build para Java semelhante ao make
, mas melhor. Você vai usá-lo para criar a biblioteca e executar exemplos. Se você já tiver o Ant instalado, verifique se ele é a versão 1.7 ou mais recente.
- Clique no menu "Iniciar" e em "Executar".
- Digite
cmd
no campo de texto.
- Digite
ant -version
no prompt para saber qual versão você tem.
Se você tiver a versão 1.7 ou mais recente, pule para receber mail.jar
. Se a versão do Ant for anterior à 1.7 ou se ele não estiver instalado, siga as etapas abaixo.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do
.zip
.
- Extraia todos os arquivos para o local de sua escolha, como
C:\ant
.
- Adicione o diretório
bin
do ant, como C:\ant\bin
, à variável de ambiente Path
.
- Adicione ou edite a variável de ambiente
ANT_HOME
para definir como o novo local, por exemplo, C:\ant
- Adicione ou edite a variável de ambiente
JAVA_HOME
para o local onde o Java está instalado, por exemplo, C:\jdk
.
Se tiver problemas, confira instruções de instalação detalhadas no site do Ant.
Como conseguir o mail.jar
A API JavaMail está incluída para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html.
- Clique no botão "Download". Verifique se você está baixando a versão 1.4 ou mais recente.
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o JavaMail.
- Extraia os arquivos para o computador e anote o local.
mail.jar
vai estar no diretório raiz, javamail-(version)
Como conseguir o activation.jar
O JavaBeans Activation Framework está incluído para suporte de mídia.
- Acesse a página de download do JAF.
- Clique no botão "Download".
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o Activation Framework.
- Extraia os arquivos para o computador e anote o local.
activation.jar
vai estar no diretório raiz, jaf-(version)
Como receber servlet.jar
O servlet.jar
(também chamado de servlet-api.jar
) pode ser encontrado no contêiner de servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras do AuthSub e do Google Base. As instruções a seguir explicam como conseguir o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi.
- Clique no download do instalador de serviços do Windows em "Distribuições binárias principais".
- Execute o instalador.
- Se você manteve o padrão,
servlet-api.jar
deve estar em C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
Mais documentação sobre configuração e instalação do Tomcat pode ser encontrada aqui.
Ufa! Agora você já pode instalar a biblioteca de cliente Java do GData.
No Mac OS X
Instruções para o sistema operacional Mac OS X.
Instalação do Java
Se você estiver usando o Mac OS X, terá menos trabalho. A Apple incluiu um JDK (Java Development Kit) totalmente configurado e pronto para uso em todas as instâncias. Confira o site da Apple sobre Java para mais informações.
Como instalar o Ant
O Apache Ant é uma ferramenta de build para Java semelhante ao make
, mas melhor. Você vai usá-lo para criar a biblioteca e executar exemplos. Você provavelmente já tem o Ant instalado, mas verifique se a versão é 1.7 ou mais recente.
- Abra uma janela de terminal. (Command + barra de espaço, depois digite "Terminal" para encontrar o aplicativo)
- No prompt de comando, digite:
ant -version
Se a versão do ant que você está executando for anterior à 1.7, siga as etapas abaixo para acessar a versão mais recente.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do
.zip
.
- Abra uma janela de terminal. (Command + barra de espaço, depois digite "Terminal" para encontrar o aplicativo)
- No prompt de comando, digite o seguinte:
cd ~/Desktop
sudo sh
mv apache-ant-(version)-bin.zip /usr/local/
cd /usr/local/
unzip apache-ant-(version)-bin.zip
chown (your account name):(your account name) apache-ant-(version)
ln -s apache-ant-(version) ant
Se tiver problemas, confira instruções de instalação detalhadas no site do Ant. Esta postagem do blog também tem uma explicação detalhada do que os comandos de shell acima significam.
Como conseguir o mail.jar
A API JavaMail está incluída para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html.
- Clique no botão "Download". Verifique se você está baixando a versão 1.4 ou mais recente.
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o JavaMail.
- Extraia os arquivos para o computador e anote o local.
mail.jar
vai estar no diretório raiz, javamail-(version)
Como conseguir o activation.jar
O JavaBeans Activation Framework está incluído para suporte de mídia.
- Acesse a página de download do JAF.
- Clique no botão "Download".
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o Activation Framework.
- Extraia os arquivos para o computador e anote o local.
activation.jar
vai estar no diretório raiz, jaf-(version)
Como receber servlet.jar
O servlet.jar
(também chamado de servlet-api.jar
) pode ser encontrado no contêiner de servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras do AuthSub e do Google Base. As instruções a seguir explicam como conseguir o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi.
- Clique no download do
.zip
em "Distribuições binárias principais".
- Extraia os arquivos para o computador e anote o local.
servlet.jar
vai estar em apache-tomcat-(version)/lib
Mais documentação sobre configuração e instalação do Tomcat pode ser encontrada aqui.
Ufa! Agora você já pode instalar a biblioteca de cliente Java do GData.
No Linux
Instruções para o sistema operacional Linux.
Instalação do Java
Neste tutorial, vamos usar o JDK (Java Development Kit) da Sun. Se você tiver acesso root, siga as instruções abaixo. Caso contrário, basta instalar o JDK no diretório inicial seguindo estas instruções. Se você já tiver o JDK 1.5 ou mais recente instalado, avance para Instalar o Ant.
Se você tiver privilégios de root:
- Acesse http://java.sun.com/javase/downloads/index.jsp.
- Clique em "Baixar" ao lado da versão mais recente.
- Leia e aceite o Contrato de licença.
- Clique e faça o download do arquivo autoextraível RPM em "Plataforma Linux".
- Abra uma janela de terminal, mude para o diretório em que você baixou o arquivo e faça o seguinte:
su
chmod a+x jdk-6(version)-linux-i586-rpm.bin
./jdk-6(version)-linux-i586-rpm.bin
- Concorde com o contrato de licença.
Se você não tiver privilégios de raiz:
- Acesse http://java.sun.com/javase/downloads/index.jsp.
- Clique em "Baixar" ao lado da versão mais recente.
- Leia e aceite o Contrato de licença.
- Clique e faça o download do build autoextraível (não RPM) em "Plataforma Linux".
- Abra uma janela de terminal, acesse o diretório em que você fez o download do arquivo e digite os seguintes comandos:
chmod +x jdk-6(version)-linux-i586-rpm.bin
- Mude para o diretório em que você quer instalar o arquivo.
- Execute o binário autoextraível. Se você estiver instalando no diretório atual, basta digitar
./jdk-6(version)-linux-i586-rpm.bin
- Concorde com o contrato de licença.
Se você tiver problemas, confira instruções de instalação mais detalhadas neste link.
Como instalar o Ant
A biblioteca de cliente Java do GData requer o Ant 1.7 ou uma versão mais recente. Se você já tiver o Ant instalado, verifique a versão digitando ant -version
em um prompt de comando. Se você precisar da versão mais recente ou não tiver o app instalado, siga as instruções abaixo. Pule para receber mail.jar
se as instalações do Java e do Ant já estiverem configuradas.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do
.tar.gz
.
- Para extrair os arquivos, abra uma janela de terminal, mude para o diretório com o arquivo baixado e digite os seguintes comandos:
gunzip apache-ant-(version)-bin.tar.gz
tar xvf apache-ant-(version)-bin.tar
- Adicione o diretório
bin
do ant à variável de ambiente PATH
.
- Adicione ou edite a variável de ambiente
ANT_HOME
para definir o novo local.
- Adicione ou edite a variável de ambiente
JAVA_HOME
para definir o local em que o JDK está instalado.
A documentação detalhada da instalação do Ant está disponível aqui se você tiver algum problema.
Como conseguir o mail.jar
A API JavaMail está incluída para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html.
- Clique no botão "Download". Verifique se você está baixando a versão 1.4 ou mais recente.
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o JavaMail.
unzip
os arquivos para o computador e anote o local. mail.jar
vai estar no diretório raiz, javamail-(version)
Como conseguir o activation.jar
O JavaBeans Activation Framework está incluído para suporte de mídia.
- Acesse a página de download do JAF.
- Clique no botão "Download".
- Leia e aceite o Contrato de licença.
- Clique no link do arquivo
.zip
que contém o Activation Framework.
unzip
os arquivos para o computador e anote o local. activation.jar
vai estar no diretório raiz, jaf-(version)
Como receber servlet.jar
O servlet.jar
(também chamado de servlet-api.jar
) pode ser encontrado no contêiner de servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras do AuthSub e do Google Base. As instruções a seguir explicam como conseguir o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi.
- Faça o download do arquivo
.tar.gz
em "Core Binary Distributions".
- Descompacte o download com
gunzip
e tar
, conforme mostrado na seção Instalar o Ant acima.
servlet.jar
vai estar em apache-tomcat-(version)/lib
Agora você tem tudo o que precisa para usar a biblioteca de cliente Java GData.
Como instalar a biblioteca de cliente de dados do Google
- Acesse http://code.google.com/p/gdata-java-client/downloads/list.
- Faça o download da versão mais recente da biblioteca de cliente (
gdata-src.java-1.x.x.java.zip
) e dos exemplos (gdata-samples.java-1.x.x.java.zip
).
- Extraia a fonte da biblioteca de cliente para o computador.
- Navegue até
gdata/java/build-src/build.properties
e abra o arquivo.
- Edite as dependências externas para apontar para os locais dos arquivos
.jar
na sua máquina local.
Observação:no Windows, coloque barras invertidas como escape. Por exemplo,
servlet.jar=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\lib\\servlet-api.jar
Execução de amostras
Todas as amostras disponíveis estão em gdata/java/sample
no arquivo gdata-samples.java-1.x.x.java.zip
. O arquivo gdata/java/build-samples/build.properties
contém todos os valores de entrada das amostras na biblioteca. Defina sample.credentials.username
e sample.credentials.password
como um nome de usuário e uma senha válidos. Podemos usar o Ant para criar e executar as amostras.
Para testar se você instalou tudo corretamente, abra um prompt de comando, mude para o diretório gdata/java
e digite:
ant -f build-samples.xml sample.calendar.run
Você pode receber algumas informações ou mensagens de aviso, mas basta procurar a mensagem BUILD SUCCESSFUL
no final. Consulte a seção de solução de problemas se não receber uma mensagem de sucesso.
Para testar uma amostra mais interativa, digite:
ant -f build-samples.xml sample.spreadsheet.guidemo.run
Para saber como executar uma amostra específica, acesse gdata/java/build-samples
e verifique o arquivo de build dela. Procure a seção samples run
.
Solução de problemas
Se o build falhar com uma mensagem de erro como:
BUILD FAILED
Target 'core.sample.core.util.build' does not exist in this project. It is used from target 'sample.calendar.build'.
Total time: 0 seconds
ou uma mensagem de erro semelhante sobre um arquivo essencial ausente do projeto, talvez você esteja executando uma versão mais antiga do Ant. Digite ant -version
para verificar se você está usando a versão 1.7 ou mais recente. Consulte as instruções de dependência acima para acessar a versão mais recente do Ant.
Como criar seus próprios aplicativos
A próxima pergunta é como criar seu próprio aplicativo. Vou mostrar um programa equivalente ao "Hello, World!" usando o serviço Calendar para exibir funcionalidades básicas. Para mais informações, consulte o guia para desenvolvedores da biblioteca de cliente Java e os guias para desenvolvedores de cada produto.
Crie um arquivo chamado CalendarTest.java. Comece incluindo as seguintes declarações de importação.
import com.google.gdata.client.*;
import com.google.gdata.client.calendar.*;
import com.google.gdata.data.*;
import com.google.gdata.data.acl.*;
import com.google.gdata.data.calendar.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;
import java.net.*;
import java.io.*;
import sample.util.*;
Confira o programa completo (sem tratamento de exceções).
public class CalendarTest {
public static void main(String[] args) {
CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
System.out.println("Your calendars:");
System.out.println();
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
}
}
This little program will request all the calendars you own and display all the titles. It's a little longer than the canonical "Hello, World!" example, but it's very simple once we break it down. The first couple of lines creates a service object and sets the user credentials.
CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");
Em seguida, o URL do recurso é definido. Nesse caso, é aqui que você pode solicitar a lista de todas as agendas do usuário autenticado.
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
A linha abaixo vai executar o comando GET
no URL e colocar o feed resultante em um objeto organizado.
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
O loop for
abaixo vai iterar em cada entrada e imprimir o título. O título é armazenado como um TextConstruct
. Portanto, uma chamada de função extra é necessária para receber o texto simples.
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
Isso foi bem básico. Vamos ver algumas outras coisas comuns. O snippet a seguir mostra como criar e inserir um objeto. No nosso exemplo, será uma nova entrada de evento da Agenda.
URL postURL = new URL("http://www.google.com/calendar/feeds/root@gmail.com/private/full");
CalendarEventEntry myEvent = new CalendarEventEntry();
//Set the title and description
myEvent.setTitle(new PlainTextConstruct("Pi Day Party"));
myEvent.setContent(new PlainTextConstruct("I am throwing a Pi Day Party!"));
//Create DateTime events and create a When object to hold them, then add
//the When event to the event
DateTime startTime = DateTime.parseDateTime("2007-03-14T15:00:00-08:00");
DateTime endTime = DateTime.parseDateTime("2007-03-14T17:00:00-08:00");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEvent.addTime(eventTimes);
// POST the request and receive the response:
CalendarEventEntry insertedEntry = myService.insert(postURL, myEvent);
Outra operação comum é criar uma consulta.
//Create a new query object and set the parameters
Query myQuery = new Query(feedURL);
myQuery.setFullTextQuery("Pi");
//Send the request with the built query URL
CalendarEventFeed myResultsFeed = myService.query(myQuery, CalendarEventFeed.class);
//Take the first match and print the title
if (myResultsFeed.getEntries().size() > 0) {
CalendarEventEntry firstMatchEntry = new CalendarEventEntry();
myResultsFeed.getEntries().get(0);
System.out.println(firstMatchEntry.getTitle().getPlainText());
}
Durante a depuração, outra operação útil é despejar o XML bruto. Há um utilitário prático que pode ser usado para fazer isso na biblioteca. Verifique se samples.util.*
foi importado. Em seguida, despeje o feed ou a entrada.
CommonUtils.dump(resultFeed, System.out);
Para ferramentas de depuração ainda mais detalhadas, confira nosso artigo Depuração de clientes da API Google Data: como analisar o tráfego no seu programa sobre como ativar o registro em log na biblioteca de cliente.
Assim, você vai ter uma ideia de como é criar apps usando a biblioteca de cliente. Para mais detalhes, consulte a seção de conclusão para ver uma lista de guias do desenvolvedor disponíveis para cada API de dados do Google.
Conclusão
Esperamos que agora você consiga criar e executar aplicativos usando a biblioteca de cliente Java do GData. Não entrei em nenhum dos IDEs mais usados, mas você pode pesquisar ferramentas conhecidas como Eclipse ou NetBeans. Confira alguns links adicionais que podem ser úteis:
Se tiver dúvidas sobre como usar a biblioteca de cliente Java com qualquer API, poste nos fóruns específicos da API.
Apêndice: como definir variáveis de ambiente
Instruções para definir as variáveis de ambiente no Windows ou Linux. Não é necessário configurar nada para o Mac OS X.
Windows
As variáveis de sistema são aplicadas a todos os usuários do computador. Se você não conseguir editar as variáveis de sistema porque não tem privilégios administrativos, siga as instruções neste link.
Se você tiver privilégios de administrador:
- Clique com o botão direito do mouse em "Meu computador" e selecione "Propriedades".
- Clique na guia "Avançado".
- Clique em "Variáveis de ambiente".
- Adicione ou edite variáveis de sistema: substitua o local na sua máquina local.
- Adicione ou edite
ANT_HOME
e defina o valor como C:\ant
.
- Adicione ou edite
JAVA_HOME
e defina o valor como C:\jdk
.
- Adicione ou edite
Path
e anexe ;C:\ant\bin;C:\jdk\bin
ao final. O ponto e vírgula separa os caminhos de diretório.
- Adicione ou edite
CLASSPATH
e anexe os arquivos .jar
necessários, dependendo dos serviços que você quer usar. Verifique se o "." está incluído &mhash; isso indica o diretório atual. .;C:\gdata\java\lib\gdata-core-1.0.jar;C:\gdata\java\lib\gdata-calendar-1.0.jar
etc.
- Reinicie para garantir que elas entrem em vigor.
Observação:as variáveis não podem ter aspas simples (') ou duplas (") nem terminar com \ ou /.
Se você não tiver privilégios de administrador:
- Clique com o botão direito do mouse em "Meu computador" e selecione "Propriedades".
- Clique na guia "Avançado".
- Clique em "Variáveis de ambiente".
- "Adicionar" ou "Editar" variáveis de usuário: substitua o local na sua máquina local.
- Adicione ou edite
ANT_HOME
e defina o valor como C:\ant
.
- Adicione ou edite
JAVA_HOME
e defina o valor como C:\jdk
.
- Adicione ou edite
Path
e anexe ;C:\ant\bin;C:\jdk\bin
ao final. O ponto e vírgula separa os caminhos de diretório.
- Adicione ou edite
CLASSPATH
e anexe os arquivos .jar
necessários, dependendo dos serviços que você quer usar. Verifique se o "." está incluído &mhash; isso indica o diretório atual. .;C:\gdata\java\lib\gdata-core-1.0.jar;C:\gdata\java\lib\gdata-calendar-1.0.jar
etc.
- Reinicie para garantir que elas entrem em vigor.
Observação:as variáveis não podem ter aspas simples (') ou duplas (") nem terminar com \ ou /.
As variáveis de usuário que você acabou de editar só serão aplicadas ao seu perfil de usuário.
Linux
- Abra o arquivo
.bash_profile
no editor de sua preferência, localizado no diretório principal.
- Adicione o seguinte ao seu
.bash_profile
, substituindo os locais reais dos arquivos na sua máquina:
export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk
export PATH=${PATH}:${ANT_HOME}/bin
- Você precisa adicionar os arquivos
.jar
dos serviços que vai usar. Por exemplo, export CLASSPATH=${CLASSPATH}:/home/username/gdata/java/lib/gdata-core-1.0.jar:/home/username/gdata/java/lib/gdata-calendar-1.0.jar:/home/username/gdata/java/sample/util/lib/sample-util.jar
source .bash_profile
para estabelecer as variáveis
Observação:as variáveis não podem ter aspas simples (') ou duplas (") nem terminar com \ ou /.