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 de dados do Google
- Amostras de execução (link em inglês)
- 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 contém instruções detalhadas sobre como fazer o download e instalar a biblioteca de cliente Java das APIs de dados do Google (GData). Vou analisar todas as dependências e configurar as variáveis de ambiente necessárias. Você vai fazer o mashup de diferentes serviços do GData rapidamente.
Você usa o Eclipse?
Confira o artigo Códigos na sombra: como usar o Eclipse com as APIs de dados do Google (em inglês).
Como instalar dependências
A biblioteca de cliente Java de dados do Google tem as seguintes dependências externas. As seções a seguir descrevem como instalar essas dependências no seu sistema operacional favorito (ou no sistema operacional que você usa).
- JDK (Java Development Kit) versão 1.5 ou mais recente
- Apache Ant versão 1.7+
- mail.jar na API SunMail 1.4 ou mais recente
- ativação.jar no JavaBeansActivationFramework da Sun. Isso só é necessário para APIs de mídia específica, incluindo API Data List Data, API Picasa Web Album e API Data do YouTube.
- servlet.jar na versão 2.3 ou mais recente da API Servlet do Sun. Isso é necessário somente se você estiver executando amostras de código nos pacotes "sample.authsub" ou "sample.gbase.Recipe".
Algumas das dependências de .jar
são necessárias apenas para amostras específicas, mas, para evitar erros de compilação, o melhor é conseguir tudo. Escolha o sistema operacional de sua preferência 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 de JDK (Java Development Kit). O JRE (Java Runtime Environment) e todos os outros recursos necessários para programar, compilar, testar e depurar aplicativos Java estão contidos nele. Se o Java já estiver instalado, avance para a instalação do Ant.
Observação:é preciso ter permissões administrativas para instalar o JDK.
- Acesse http://java.sun.com/javase/downloads/index.jsp
- Clique em "Download" 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 os executáveis do JDK, como javac
. O caminho que você quer adicionar é semelhante a C:\jdk\bin\
. Consulte o Apêndice para ver instruções sobre como editar a variável Path
no Windows.
Se você tiver problemas para instalar o JDK, confira as instruções detalhadas de instalação no site do Sun.
Como instalar o Ant
O Apache Ant é uma ferramenta de build para Java semelhante a make
(mas melhor). Você vai usá-lo para criar a biblioteca e executar amostras. Se você já tem o Ant instalado, verifique se é a versão 1.7 ou mais recente.
- Clique no menu "Iniciar" e em "Executar".
- Digite
cmd
no campo de texto.
- Digite
ant -version
na solicitação para ver qual é sua versão.
Se você tiver a versão 1.7 ou versões mais recentes, acesse o mail.jar
. Caso sua versão do Ant seja anterior à 1.7 ou não esteja instalada, siga as etapas abaixo.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do arquivo
.zip
.
- Extraia todos os arquivos no local que você preferir, como
C:\ant
- Adicione o diretório ant
bin
, como C:\ant\bin
, à variável de ambiente Path
.
- Adicione ou edite a variável de ambiente
ANT_HOME
para defini-la como o novo local. Por exemplo: C:\ant
- Adicione ou edite a variável de ambiente
JAVA_HOME
em que o Java está instalado (por exemplo, C:\jdk
).
Veja instruções detalhadas de instalação no site do Ant se tiver algum problema.
Receber mail.jar
A API JavaMail está disponível para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html
- Clique no botão "Download". Faça o download da versão 1.4 ou mais recente.
- Leia e aceite o Contrato de Licença.
- Clique no link para o arquivo
.zip
que contém JavaMail.
- Extraia os arquivos no seu computador e anote o local.
mail.jar
estará no diretório raiz, javamail-(version)
Como receber o active.jar
O JavaBeans Activation Framework inclui 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 framework de ativação.
- Extraia os arquivos no seu computador e anote o local.
activation.jar
estará no diretório raiz, jaf-(version)
Como receber o servlet.jar
servlet.jar
(pode ser chamado de servlet-api.jar
) pode ser encontrado no contêiner do seu servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras XPN e Google Base. As instruções a seguir mostram como usar o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi
- Clique no download do Instalador de Serviço do Windows em "Principais distribuições binárias".
- Execute o instalador.
- Se você manteve a configuração padrão, o
servlet-api.jar
precisa estar localizado em C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
.
Veja mais documentação de configuração e instalação do Tomcat aqui.
Parabéns, agora está tudo pronto para instalar a biblioteca de cliente Java dos dados do Google.
No Mac OS X
Instruções para o sistema operacional Mac OS X.
Instalação do Java
Se estiver executando o Mac OS X, você terá menos trabalho para fazer. A Apple incluiu um JDK (Java Development Kit) totalmente configurado e pronto para uso em cada instância. Acesse o site Java da Apple para mais informações.
Como instalar o Ant
O Apache Ant é uma ferramenta de build para Java semelhante a make
(mas melhor). Você vai usá-lo para criar a biblioteca e executar amostras. É provável que você já tenha o Ant instalado, mas verifique se tem a versão 1.7 ou mais recente.
- Abra uma janela de terminal. Pressione Command + barra de espaço e digite "Terminal" para encontrar o app.
- No prompt de comando, digite:
ant -version
Se a versão do Ant que você está executando for anterior à versão 1.7, siga as etapas abaixo para instalar a versão mais recente.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do arquivo
.zip
.
- Abra uma janela de terminal. Pressione Command + barra de espaço e digite "Terminal" para encontrar o app.
- 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
Veja instruções detalhadas de instalação no site do Ant se tiver algum problema. Esta postagem do blog também tem uma explicação detalhada do significado dos comandos do shell acima.
Receber mail.jar
A API JavaMail está disponível para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html
- Clique no botão "Download". Faça o download da versão 1.4 ou mais recente.
- Leia e aceite o Contrato de Licença.
- Clique no link para o arquivo
.zip
que contém JavaMail.
- Extraia os arquivos no seu computador e anote o local.
mail.jar
estará no diretório raiz, javamail-(version)
Como receber o active.jar
O JavaBeans Activation Framework inclui 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 framework de ativação.
- Extraia os arquivos no seu computador e anote o local.
activation.jar
estará no diretório raiz, jaf-(version)
Como receber o servlet.jar
servlet.jar
(pode ser chamado de servlet-api.jar
) pode ser encontrado no contêiner do seu servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras XPN e Google Base. As instruções a seguir mostram como usar o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi
- Clique no download de
.zip
em "Principais distribuições binárias".
- Extraia os arquivos no seu computador e anote o local. O
servlet.jar
será encontrado em apache-tomcat-(version)/lib
Veja mais documentação de configuração e instalação do Tomcat aqui.
Parabéns, agora está tudo pronto para instalar a biblioteca de cliente Java dos dados do Google.
No Linux
Instruções para o sistema operacional Linux.
Instalação do Java
Neste tutorial, usaremos o JDK (Java Development Kit) do Sun. Se você tiver acesso à raiz, siga as instruções abaixo. Caso contrário, basta instalar o JDK no seu diretório inicial seguindo estas instruções. Se o JDK 1.5+ já estiver instalado, avance para Como instalar o Ant.
Se você tiver privilégios raiz:
- Acesse http://java.sun.com/javase/downloads/index.jsp
- Clique em "Download" ao lado da versão mais recente.
- Leia e aceite o Contrato de Licença.
- Clique e faça o download do arquivo RPM com extração automática em "Plataforma Linux".
- Abra uma janela do terminal, mude para o diretório em que você fez o download do 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 raiz:
- Acesse http://java.sun.com/javase/downloads/index.jsp
- Clique em "Download" ao lado da versão mais recente.
- Leia e aceite o Contrato de Licença.
- Clique e faça o download do build de extração automática em vez de RPM em "Plataforma Linux".
- Abra uma janela do terminal, acesse o diretório onde você fez o download do arquivo e digite os seguintes comandos:
chmod +x jdk-6(version)-linux-i586-rpm.bin
- Acesse o diretório em que você quer que o arquivo seja instalado.
- Execute o binário de extração automática. Se ele estiver sendo instalado no diretório atual, basta digitar
./jdk-6(version)-linux-i586-rpm.bin
- Concorde com o contrato de licença.
Se você tiver problemas, consulte instruções detalhadas de instalação aqui.
Como instalar o Ant
A biblioteca de cliente Java de dados do Google exige Ant 1.7 ou versões mais recentes. Se o Ant já estiver 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 a versão instalada, siga as instruções abaixo. Pule para como conseguir o mail.jar
se as instalações Java e Ant já estiverem configuradas.
- Acesse http://ant.apache.org/bindownload.cgi.
- Clique no link de download do arquivo
.tar.gz
.
- Extraia os arquivos exibindo uma janela de terminal, mudando para o diretório com o arquivo transferido por download e digitando os seguintes comandos:
gunzip apache-ant-(version)-bin.tar.gz
tar xvf apache-ant-(version)-bin.tar
- Adicione o diretório
bin
da form à variável de ambiente do PATH
.
- Adicione ou edite a variável de ambiente
ANT_HOME
para defini-la como o novo local.
- Adicione ou edite a variável de ambiente
JAVA_HOME
para configurá-la como o local em que o JDK está instalado.
A documentação de instalação do Ant pode ser encontrada aqui em caso de problemas.
Receber mail.jar
A API JavaMail está disponível para suporte de mídia.
- Acesse http://java.sun.com/products/javamail/downloads/index.html
- Clique no botão "Download". Faça o download da versão 1.4 ou mais recente.
- Leia e aceite o Contrato de Licença.
- Clique no link para o arquivo
.zip
que contém JavaMail.
- Use
unzip
para salvar os arquivos no seu computador e anote o local. mail.jar
estará no diretório raiz, javamail-(version)
Como receber o active.jar
O JavaBeans Activation Framework inclui 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 framework de ativação.
- Use
unzip
para salvar os arquivos no seu computador e anote o local. activation.jar
estará no diretório raiz, jaf-(version)
Como receber o servlet.jar
servlet.jar
(pode ser chamado de servlet-api.jar
) pode ser encontrado no contêiner do seu servlet (J2EE, Tomcat, WebLogic etc.). Ele é usado para as amostras XPN e Google Base. As instruções a seguir mostram como usar o Tomcat 6.x.
- Acesse http://tomcat.apache.org/download-60.cgi
- Faça o download do arquivo
.tar.gz
em "Principais distribuições binárias".
- Descompacte o download com
gunzip
e tar
, conforme mostrado na seção Como instalar o Ant acima.
- O
servlet.jar
será encontrado em apache-tomcat-(version)/lib
Agora você tem tudo o que precisa para acessar a biblioteca de cliente Java de dados do Google.
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 das amostras (gdata-samples.java-1.x.x.java.zip
).
- Extraia a origem da biblioteca de cliente no computador.
- Acesse
gdata/java/build-src/build.properties
e abra o arquivo.
- Edite as dependências externas para apontar para os locais dos arquivos
.jar
na máquina local.
Observação: faça o escape das barras invertidas no Windows. Por exemplo:
servlet.jar=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\lib\\servlet-api.jar
Como executar 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 para as amostras da 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 verificar 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
Talvez você receba algumas informações ou mensagens de aviso, mas procure a mensagem BUILD SUCCESSFUL
no final. Consulte a seção de solução de problemas se você não receber uma mensagem de sucesso.
Experimente uma amostra mais interativa digitando:
ant -f build-samples.xml sample.spreadsheet.guidemo.run
Para descobrir como executar uma amostra específica, acesse gdata/java/build-samples
e verifique o arquivo de build desse exemplo. 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 no projeto, talvez você esteja executando uma versão mais antiga do Ant. Digite ant -version
para garantir que a versão seja a 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 passar por um programa equivalente "Hello, World!" usando o serviço Agenda para exibir a funcionalidade básica. Veja informações mais detalhadas no guia do desenvolvedor da biblioteca de cliente Java e nos guias do desenvolvedor de produtos individuais.
Crie um arquivo chamado CalendarTest.java. Comece incluindo as instruções de importação a seguir.
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.*;
Veja o programa inteiro (sem nenhuma exceção de exceção).
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, é possível 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 executará o comando GET
real 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. Como o título é armazenado como uma TextConstruct
, uma chamada de função extra é necessária para acessar 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 muito básico. Vamos ver 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 útil que você pode usar para fazer isso na biblioteca. samples.util.*
precisa ser importado. Em seguida, despeja o feed ou a entrada.
CommonUtils.dump(resultFeed, System.out);
Para ver ferramentas de depuração ainda mais detalhadas, confira nosso artigo Depuração de clientes da API Google Data: como explorar o tráfego no programa sobre como ativar a geração de registros na biblioteca de cliente.
Isso deve dar uma ideia de como é criar aplicativos usando a biblioteca de cliente. Para informações mais detalhadas, 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ê possa criar e executar aplicativos usando a biblioteca de cliente Java de dados do Google. Não usei um ambiente de desenvolvimento integrado conhecido. No entanto, recomendamos usar ferramentas muito usadas, como o Eclipse ou o NetBeans. Veja outros links que podem ser úteis:
Se você 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 configurar suas variáveis de ambiente no Windows ou no Linux. Não será necessário definir nada para o Mac OS X.
Windows
As variáveis do sistema são aplicadas a todos os usuários do computador. Se não for possível editar as variáveis do sistema porque você não tem privilégios de administrador, siga estas instruções.
Se você tiver privilégios administrativos:
- 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 do 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 o
CLASSPATH
e anexe os arquivos .jar
necessários, dependendo dos serviços que você quer usar. Verifique se "." 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: verifique se as variáveis não estão entre aspas ("ou") e não terminam 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 o
CLASSPATH
e anexe os arquivos .jar
necessários, dependendo dos serviços que você quer usar. Verifique se "." 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:verifique se as variáveis não estão entre aspas ("ou") e não terminam com "\" ou "/".
As variáveis de usuário que você acabou de editar serão aplicadas somente 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
- Será necessário adicionar os arquivos
.jar
para os serviços que você 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:verifique se as variáveis não estão entre aspas ("ou") e não terminam com "\" ou "/".