Comienza a usar la biblioteca cliente de Java

Para comenzar a usar la API de la Biblioteca de Google Fotos con la biblioteca cliente de Java, deberás configurar la biblioteca cliente en tu entorno de desarrollo. Antes de hacerlo, configura tu proyecto habilitando la API a través de la Consola de API de Google y configurando un ID de cliente de OAuth 2.0.

Tu aplicación interactúa con Google Fotos en nombre de un usuario de Google Fotos. Por ejemplo, cuando creas álbumes en la biblioteca de Google Fotos de un usuario o subes elementos multimedia a su cuenta de Google Fotos, el usuario autoriza estas solicitudes a la API mediante el protocolo OAuth 2.0.

El ID de cliente de OAuth 2.0 permite que los usuarios de tu aplicación accedan, se autentiquen y, por lo tanto, usen la API de la Biblioteca. La API de Library no admite cuentas de servicio. Para usar esta API, los usuarios deben acceder a una Cuenta de Google válida.

Cómo configurar tu app

Habilita la API

Antes de poder usar la API de la Biblioteca, debes habilitarla en tu proyecto.

  1. Ve a la Consola de API de Google.
  2. Desde la barra de menú, selecciona un proyecto o crea uno nuevo.
  3. Para abrir la biblioteca de API de Google, en el menú de navegación, selecciona APIs y servicios > Biblioteca.
  4. Busca “API de Google Photos Library”. Selecciona el resultado correcto y haz clic en Habilitar.

Cómo solicitar un ID de cliente de OAuth 2.0

Sigue los pasos que se indican a continuación para solicitar un ID de cliente de OAuth y configurarlo para tu aplicación. En este ejemplo, se usa una aplicación en la que todo el flujo de OAuth se controla del lado del servidor, como la que se muestra en nuestras muestras. El proceso de configuración puede variar para otras situaciones de implementación.

  1. Ve a la Consola de API de Google y selecciona tu proyecto.
  2. En el menú, selecciona APIs y servicios > Credenciales.
  3. En la página Credenciales, haz clic en Crear credenciales > ID de cliente de OAuth.
  4. Selecciona el tipo de aplicación. En este ejemplo, el tipo de aplicación es Web application.
  5. Registra los orígenes desde los que tu app puede acceder a las APIs de Google de la siguiente manera:

    1. Para identificar el ID de cliente, ingresa un nombre.
    2. En el campo Orígenes autorizados de JavaScript, ingresa el origen de la app. Este campo no admite comodines.

      Puedes ingresar varios orígenes para permitir que la app se ejecute en diferentes protocolos, dominios o subdominios. Las URLs que ingreses pueden iniciar una solicitud de OAuth.

      En el siguiente ejemplo, se muestra una URL de desarrollo local (nuestras muestras usan localhost:8080) y una URL de producción.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. El campo URI de redireccionamiento autorizado es el extremo que recibe las respuestas del servidor de OAuth 2.0. Por lo general, esto incluye el entorno de desarrollo y apunta a una ruta en la aplicación.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Haz clic en Crear.

  1. Desde el diálogo de cliente de OAuth resultante, descarga el archivo JSON que contiene la configuración del cliente. Los detalles de tu cliente constan de lo siguiente:

    • ID de cliente
    • Secreto del cliente

    Este archivo JSON se usará más adelante con el objetivo de configurar la biblioteca de Google Auth para Java, que funciona con esta biblioteca cliente.

Antes de que puedas lanzar una aplicación pública que acceda a la API de la Biblioteca, Google debe revisarla. Cuando pruebes la aplicación, aparecerá el mensaje “No se verificó la app” en la pantalla hasta que se verifique.

Configura la biblioteca cliente

La biblioteca cliente de Java controla todas las llamadas a la API de backend por ti y expone objetos compatibles con los que trabajar, incluidas muestras de código para algunas tareas comunes de la API. Primero, descarga e instala la biblioteca cliente de la API de la Biblioteca de Google Fotos para Java junto con las dependencias de GitHub. Luego, configura tus credenciales de OAuth2 para Java.

Opciones de descarga

A continuación, se incluyen algunas opciones para descargar la biblioteca cliente:

  • Dependencia de Gradle:

    Para usar esta biblioteca con Gradle, agrega la siguiente dependencia a tu archivo build.gradle.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Dependencia de Maven:

    Para usar esta biblioteca con Maven, agrega lo siguiente a tu archivo pom.xml de Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Descarga una versión:

    La página de versiones contiene diferentes artefactos para cada versión de la biblioteca, incluidos los archivos jar.

  • Clona el repositorio:

    Usa este método si deseas modificar esta biblioteca o contribuir a ella, por ejemplo, enviar solicitudes de extracción o si deseas probar nuestras muestras. Cuando clones el repositorio, se descargarán todos los archivos en este repositorio.

    1. Ejecuta git clone https://github.com/google/java-photoslibrary.git en el símbolo del sistema.
    2. Obtendrás un directorio java-photoslibrary. Ejecuta cd java-photoslibrary para navegar hasta él.
    3. Abre el archivo build.gradle en tu IDE o ejecuta ./gradlew assemble en el símbolo del sistema para compilar el proyecto. Consulta ./gradlew tasks para ver las tareas disponibles.

Configura tus credenciales de OAuth2 para Java

Esta biblioteca cliente funciona con la biblioteca de Google Auth para Java. Para obtener más información, consulta Cómo usar OAuth 2.0 con la biblioteca cliente de la API de Google para Java.

Especifica la configuración de OAuth de cliente en la CredentialsProvider cuando crees la PhotoLibrarySettings para un objeto PhotosLibraryClient.

Prueba algunas muestras

Prueba el código que aparece a continuación para realizar tu primera llamada a la API con la biblioteca cliente de 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
}

Hay más muestras en GitHub que puedes probar.