Acesse facilmente as APIs do Google no Java

A biblioteca de cliente da API do Google para Java oferece funcionalidades comuns a todas as APIs do Google, por exemplo, transporte HTTP, tratamento de erros, autenticação, análise JSON, download/upload de mídia e agrupamento em lote. A biblioteca inclui uma poderosa biblioteca OAuth 2.0 com uma interface consistente, modelos de dados XML e JSON leves e eficientes que são compatíveis com qualquer esquema de dados e suporte para buffers de protocolo.
Para chamar uma API do Google usando bibliotecas de cliente do Google para Java, você precisa da biblioteca Java gerada para a API do Google que está acessando. Essas bibliotecas geradas incluem a biblioteca principal google-api-java-client com informações específicas da API, como o URL raiz. Elas também incluem classes que representam entidades no contexto da API e que são úteis para fazer conversões entre objetos JSON e objetos Java.
Para chamar uma API do Google usando bibliotecas de cliente do Google para Java, você precisa da biblioteca Java gerada para a API do Google que está acessando. Essas bibliotecas geradas incluem a biblioteca principal google-api-java-client com informações específicas da API, como o URL raiz. Elas também incluem classes que representam entidades no contexto da API e que são úteis para fazer conversões entre objetos JSON e objetos Java.
Recursos descontinuados
Os recursos não Beta descontinuados serão removidos 18 meses após o lançamento em que foram descontinuados. Corrija o uso antes disso. Caso contrário, qualquer tipo de falha poderá ocorrer, e não há garantia de erro de compilação.
Destaques da biblioteca de cliente das APIs do Google para Java
É simples chamar as APIs do Google
Você pode chamar as APIs do Google usando as bibliotecas geradas específicas dos serviços do Google com a biblioteca de cliente de APIs do Google para Java. Para encontrar a biblioteca de cliente gerada para uma API do Google, visite a lista de APIs do Google compatíveis. Este exemplo usa a biblioteca de cliente da API Calendar para Java ao fazer uma chamada para a API Google Calendar:
// Show events on user's calendar.
View.header("Show Calendars");
CalendarList feed = client.calendarList().list().execute();
View.display(feed);
A biblioteca facilita o envio/download de mídia e a execução de tarefas em lote
A biblioteca oferece classes auxiliares para agrupamento em lotes, upload de mídia e download de mídia.A biblioteca facilita a autenticação
A biblioteca inclui uma poderosa biblioteca de autenticação que pode reduzir a quantidade de código necessária para lidar com o OAuth 2.0. Às vezes, você só precisa de algumas linhas. Por exemplo:
/** Authorizes the installed application to access user's protected data. */
private static Credential authorize() throws Exception {
// load client secrets
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
new InputStreamReader(CalendarSample.class.getResourceAsStream("/client_secrets.json")));
// set up authorization code flow
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
httpTransport, JSON_FACTORY, clientSecrets,
Collections.singleton(CalendarScopes.CALENDAR)).setDataStoreFactory(dataStoreFactory)
.build();
// authorize
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
}
A biblioteca é executada no Google App Engine
Os auxiliares específicos do App Engine fazem o trabalho rápido de chamadas autenticadas para APIs, e você não precisa se preocupar em trocar código por tokens.
Por exemplo:
Por exemplo:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
AppIdentityCredential credential =
new AppIdentityCredential(Arrays.asList(UrlshortenerScopes.URLSHORTENER));
Urlshortener shortener =
new Urlshortener.Builder(new UrlFetchTransport(), new JacksonFactory(), credential)
.build();
UrlHistory history = shortener.URL().list().execute();
...
}
A biblioteca é executada no Android 4.4 ou mais recente.
A biblioteca de cliente do Google para classes auxiliares específicas do Android no Java é bem integrada ao Android AccountManager. Por exemplo:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Google Accounts
credential =
GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS));
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
// Tasks client
service =
new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("Google-TasksAndroidSample/1.0").build();
}
A instalação é fácil
Se você não estiver usando uma biblioteca gerada, faça o download do binário da Biblioteca de cliente de API do Google para Java diretamente na página de downloads ou use o Maven ou o Gradle. Para usar o Maven, adicione as seguintes linhas ao seu arquivo pom.xml:
Para usar o Gradle, adicione as seguintes linhas ao arquivo build.gradle:
Para mais detalhes sobre como instalar e configurar a API do Google
para Java, consulte a
fazer download
e instruções de configuração.
<project>
<dependencies>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.32.1</version>
</dependency>
</dependencies>
</project>
Para usar o Gradle, adicione as seguintes linhas ao arquivo build.gradle:
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.api-client:google-api-client:1.32.1'
}
Ambientes compatíveis
A biblioteca de cliente das APIs do Google para Java oferece suporte aos seguintes ambientes Java:
- Java 7 ou superior, padrão (SE) e enterprise (EE).
- Google App Engine
- Android 4.4 ou versão posterior, mas se uma biblioteca do Google Play Services estiver disponível para o serviço do Google necessário, use essa biblioteca em vez desta. A biblioteca do Google Play oferecerá o melhor desempenho e a melhor experiência possível.