Introdução à biblioteca de cliente Java

Para começar a usar a API Google Photos Library com a biblioteca de cliente Java, é necessário configurar a biblioteca de cliente no seu ambiente de desenvolvimento. Antes disso, configure seu projeto ativando a API no Console de APIs do Google e definindo um ID do cliente do OAuth 2.0.

O aplicativo interage com o Google Fotos em nome de um usuário do Google Fotos. Por exemplo, quando você cria álbuns na biblioteca do Google Fotos de um usuário ou faz upload de itens de mídia para a conta do Google Fotos de um usuário, o usuário autoriza essas solicitações de API usando o protocolo OAuth 2.0.

O ID do cliente OAuth 2.0 permite que os usuários do aplicativo façam login, autentiquem e usem a API Library. A API Library não oferece suporte a contas de serviço. Para usar essa API, os usuários precisam estar conectados a uma Conta do Google válida.

Configurar o app

Ativar a API

Antes de usar a API Library, é necessário ativá-la no projeto.

  1. Vá para o Console de APIs do Google.
  2. Na barra de menus, selecione um projeto ou crie um novo.
  3. Para abrir a biblioteca de APIs do Google, no menu de navegação, selecione APIs e serviços > Biblioteca.
  4. Pesquise "API Google Photos Library". Selecione o resultado correto e clique em Ativar.

Solicitar um ID do cliente OAuth 2.0

Siga as etapas abaixo para solicitar um ID do cliente OAuth e configurá-lo para seu aplicativo. Este exemplo usa um aplicativo em que todo o fluxo do OAuth é processado no lado do servidor, como o dos nossos exemplos. O processo de configuração pode variar para outros cenários de implementação.

  1. Acesse o Console de APIs do Google e selecione seu projeto.
  2. No menu, selecione APIs e serviços > Credenciais.
  3. Na página Credenciais, clique em Criar credenciais > ID do cliente OAuth.
  4. Selecione o Tipo de aplicativo. Neste exemplo, o tipo é aplicativo da Web.
  5. Registre as origens de onde o app tem permissão para acessar as APIs do Google da seguinte maneira:

    1. Insira um nome para identificar o ID do cliente.
    2. No campo Origens JavaScript autorizadas, insira a origem do app. Esse campo não permite caracteres curinga.

      Você pode inserir várias origens para permitir que o app seja executado em diferentes protocolos, domínios ou subdomínios. Os URLs inseridos podem iniciar uma solicitação OAuth.

      O exemplo a seguir mostra um URL de desenvolvimento local (nossas amostras usam localhost:8080) e um URL de produção.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. O campo URI de redirecionamento autorizado é o endpoint que recebe respostas do servidor OAuth 2.0. Normalmente, isso inclui seu ambiente de desenvolvimento e aponta para um caminho no aplicativo.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Clique em Criar.

  1. Na caixa de diálogo do cliente OAuth, faça o download do arquivo JSON que contém a configuração do seu cliente. Os detalhes do cliente consistem no seguinte:

    • ID do cliente
    • Chave secreta do cliente

    Esse arquivo JSON será usado posteriormente para configurar a biblioteca do Google Auth para Java, que funciona com esta biblioteca de cliente.

Antes de iniciar um aplicativo público que acessa a API Library, ele precisa ser revisado pelo Google. A mensagem "App não verificado" é mostrada na tela durante o teste do aplicativo, até que ele seja verificado.

Configure a biblioteca de cliente.

A biblioteca de cliente Java processa todas as chamadas de API de back-end e expõe objetos amigáveis para trabalhar, incluindo amostras de código de algumas tarefas comuns da API. Primeiro, faça o download e instale a biblioteca de cliente da API Google Photos Library para Java com as dependências do GitHub. Em seguida, configure suas credenciais do OAuth2 para Java.

Opções de download

Aqui estão algumas opções para fazer download da biblioteca de cliente:

  • Dependência do Gradle:

    Para usar essa biblioteca com o Gradle, adicione a dependência abaixo ao seu arquivo build.gradle.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Dependência do Maven:

    Para usar essa biblioteca com o Maven, adicione o seguinte ao seu arquivo pom.xml do Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Fazer o download de uma versão:

    A página de versões contém artefatos diferentes para cada versão da biblioteca, incluindo arquivos jar.

  • Clone o repositório:

    Use esse método se você quiser alterar ou contribuir com essa biblioteca, por exemplo, enviar solicitações de envio, ou se quiser testar nossas amostras. Ao clonar o repositório, será feito o download de todos os arquivos dele.

    1. Execute git clone https://github.com/google/java-photoslibrary.git no prompt de comando.
    2. Você receberá um diretório java-photoslibrary. Navegue até ele executando cd java-photoslibrary.
    3. Abra o arquivo build.gradle no seu ambiente de desenvolvimento integrado ou execute ./gradlew assemble no prompt de comando para criar o projeto. Consulte ./gradlew tasks para conferir as tarefas disponíveis.

Configurar suas credenciais do OAuth2 para Java

Essa biblioteca de cliente funciona com a Biblioteca do Google Auth para Java. Para mais informações, consulte Como usar o OAuth 2.0 com a biblioteca de cliente de APIs do Google para Java.

Especifique a configuração de OAuth do cliente no CredentialsProvider ao criar o PhotoLibrarySettings para um objeto PhotosLibraryClient.

Teste algumas amostras

Teste o código abaixo para fazer sua primeira chamada de API usando a biblioteca de cliente Java.

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

Há mais exemplos (link em inglês) no GitHub para você testar.