Premiers pas avec la bibliothèque cliente PHP

Pour commencer à utiliser l'API Library de Google Photos avec la bibliothèque cliente PHP, vous devez configurer la bibliothèque cliente dans votre environnement de développement. Avant cela, configurez votre projet en activant l'API via la console Google APIs et en configurant un ID client OAuth 2.0.

Votre application interagit avec Google Photos au nom d'un utilisateur de Google Photos. Par exemple, lorsque vous créez des albums dans la bibliothèque Google Photos d'un utilisateur ou importez des éléments multimédias dans le compte Google Photos d'un utilisateur, celui-ci autorise ces requêtes API via le protocole OAuth 2.0.

L'ID client OAuth 2.0 permet aux utilisateurs de votre application de se connecter, de s'authentifier et donc d'utiliser l'API Library. L'API Library n'est pas compatible avec les comptes de service. Pour l'utiliser, les utilisateurs doivent être connectés à un compte Google valide.

Configurer votre application

Activer l'API

Avant de pouvoir utiliser l'API Library, vous devez l'activer pour votre projet.

  1. Accédez à la console Google APIs.
  2. Dans la barre de menu, sélectionnez un projet ou créez-en un.
  3. Pour ouvrir la bibliothèque d'API Google, dans le menu de navigation, sélectionnez API et services > Bibliothèque.
  4. Recherchez "API Google Photos Library". Sélectionnez le résultat correct, puis cliquez sur Activer.

Demander un ID client OAuth 2.0

Suivez les étapes ci-dessous pour demander un ID client OAuth et le configurer pour votre application. Cet exemple utilise une application dans laquelle l'ensemble du flux OAuth est géré côté serveur, comme celui de nos exemples. Le processus de configuration peut varier pour d'autres scénarios d'implémentation.

  1. Accédez à la console Google APIs, puis sélectionnez votre projet.
  2. Dans le menu, sélectionnez API et services > Identifiants.
  3. Sur la page Identifiants, cliquez sur Créer des identifiants > ID client OAuth.
  4. Sélectionnez votre type d'application. Dans cet exemple, le type d'application est Web application (Application Web).
  5. Enregistrez les origines à partir desquelles votre application est autorisée à accéder aux API Google comme suit:

    1. Pour identifier l'ID client, saisissez un nom.
    2. Dans le champ Origines JavaScript autorisées, saisissez l'origine de votre application. Ce champ n'accepte pas les caractères génériques.

      Vous pouvez indiquer plusieurs origines pour permettre à votre application de s'exécuter sur différents protocoles, domaines ou sous-domaines. Les URL que vous saisissez sont autorisées à lancer une requête OAuth.

      L'exemple suivant présente une URL de développement local (nos exemples utilisent localhost:8080) et une URL de production.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Le champ URI de redirection autorisé correspond au point de terminaison qui reçoit les réponses du serveur OAuth 2.0. En règle générale, cela inclut votre environnement de développement et pointe vers un chemin d'accès dans votre application.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Cliquez sur Créer.

  1. Dans la boîte de dialogue du client OAuth qui s'affiche, téléchargez le fichier JSON contenant votre configuration client. Les informations sur votre client comprennent les éléments suivants:

    • ID client
    • Client secret (Code secret du client)

    Ce fichier JSON sera utilisé ultérieurement pour configurer la bibliothèque Google Auth pour PHP, qui fonctionne avec cette bibliothèque cliente.

Avant de pouvoir lancer une application publique qui accède à l'API Library, elle doit être examinée par Google. Le message "Application non validée" s'affiche à l'écran lorsque vous testez votre application, jusqu'à ce qu'elle soit validée.

Configurez la bibliothèque cliente

La bibliothèque cliente PHP gère tous les appels d'API backend à votre place et expose des objets compatibles, y compris des exemples de code pour certaines tâches d'API courantes. Tout d'abord, téléchargez et installez la bibliothèque cliente de l'API Google Photos Library pour PHP, ainsi que les dépendances de GitHub. Ensuite, configurez vos identifiants OAuth2 pour PHP.

Options de téléchargement

Utilisez composer pour inclure la bibliothèque en tant que dépendance dans votre environnement de développement. Exécutez la commande suivante pour ajouter la bibliothèque à la configuration de votre projet et la télécharger dans le répertoire vendor/.

composer require google/photos-library

Vous pouvez également cloner le dépôt ou télécharger un fichier tarball compressé.

Configurer vos identifiants OAuth2 pour PHP

Cette bibliothèque cliente fonctionne avec la bibliothèque Google Auth pour PHP. Pour en savoir plus, consultez l'article Utiliser OAuth 2.0 avec la bibliothèque cliente des API Google pour PHP.

Utilisez les identifiants d'authentification renvoyés par la bibliothèque d'authentification lors de la configuration de PhotosLibraryClient.

Tester quelques exemples

Essayez le code ci-dessous pour effectuer votre premier appel d'API à l'aide de la bibliothèque cliente 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;
}

Vous pouvez tester d'autres exemples sur GitHub.