Comienza a usar la biblioteca cliente de PHP

Para comenzar a usar las APIs de Google Fotos con la biblioteca cliente de PHP, deberás hacer lo siguiente: configura la biblioteca cliente en tu entorno de desarrollo. Antes de hacerlo, habilita la API para configurar tu proyecto a través de la Consola de API de Google y la configuración de 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 cuenta de usuario biblioteca de Google Fotos o subir elementos multimedia a la cuenta de un usuario de Google Fotos, el usuario autoriza estas solicitudes a la API mediante el 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, usar las APIs de Fotos. Las APIs de Fotos no admiten cuentas de servicio. Para usar esta API, los usuarios deben haber accedido a una Cuenta de Google válida.

Cómo configurar tu app

Habilita la API

Antes de poder usar las APIs de Fotos, debes habilitarlas para tu proyecto.

  1. Ve a la Consola de API de Google.
  2. En la barra de menú, selecciona un proyecto o crea uno nuevo.
  3. Para abrir la Biblioteca de la API de Google, en el menú de navegación, selecciona APIs y servicios > Biblioteca.
  4. Busca “API de Google Fotos”. Selecciona el resultado correcto y haz clic 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 servidor, como la que se muestra en nuestros ejemplos. 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 tu Tipo de aplicación. En este ejemplo, el tipo de aplicación es Aplicación web.
  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 tu . Este campo no permite comodines.

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

      El siguiente ejemplo 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 respuestas automáticas del servidor de OAuth 2.0. Por lo general, esto incluye tu entorno de desarrollo y apunta a una ruta de acceso en tu 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 resultante del cliente de OAuth, descarga el archivo JSON. que contiene la configuración del cliente. Los detalles del cliente incluyen lo siguiente:

    • ID de cliente
    • Secreto del cliente

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

Para que puedas lanzar una aplicación pública que acceda a las APIs de Fotos, Google debe revisarla. Cuando pruebes la app, aparecerá un mensaje que indica que no está verificada en la pantalla hasta que se verifique.

Configura la biblioteca cliente

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

Opciones de descarga

Usa composer. incluir la biblioteca como una dependencia en tu entorno de desarrollo. Ejecuta el siguiente comando para agregar la biblioteca a la configuración de tu proyecto y descargarla en el directorio vendor/:

composer require google/photos-library

Como alternativa, también puedes clona los basado en la nube o descarga un archivo tarball.

Configura tus credenciales de OAuth2 para PHP

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

Usa las credenciales de autenticación que muestra la biblioteca auth durante la configuración PhotosLibraryClient

Prueba algunas muestras

Prueba el siguiente código para realizar tu primera llamada a la API con la biblioteca cliente de PHP.

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

Hay más muestras en GitHub para que las pruebes.