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.
- Vá para o Console de APIs do Google.
- Na barra de menus, selecione um projeto ou crie um novo.
- Para abrir a biblioteca de APIs do Google, no menu de navegação, selecione APIs e serviços > Biblioteca.
- 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.
- Acesse o Console de APIs do Google e selecione seu projeto.
- No menu, selecione APIs e serviços > Credenciais.
- Na página Credenciais, clique em Criar credenciais > ID do cliente OAuth.
- Selecione o Tipo de aplicativo. Neste exemplo, o tipo é aplicativo da Web.
Registre as origens de onde o app tem permissão para acessar as APIs do Google da seguinte maneira:
- Insira um nome para identificar o ID do cliente.
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
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
Clique em Criar.
-
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.
- Execute
git clone https://github.com/google/java-photoslibrary.git
no prompt de comando. - Você receberá um diretório
java-photoslibrary
. Navegue até ele executandocd java-photoslibrary
. - 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.
- Execute
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.