Acesse facilmente as APIs do Google no Java
![](https://developers-dot-devsite-v2-prod.appspot.com/static/api-client-library/java/images/banner-java-3.png?authuser=0000&%3Bhl=pt-br&hl=pt-br)
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 é um exemplo que 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 upload/download de mídia e lotes e
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 das APIs do Google para Java diretamente na página de downloads ou use o Maven ou o Gradle. Para usar o Maven, adicione estas linhas ao 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.