À propos du projet

La bibliothèque cliente des API Google pour PHP permet une interaction côté serveur avec les API Google telles que Gmail, Drive et YouTube. Elle est officiellement prise en charge par Google mais est considérée comme complète et en mode maintenance, ce qui signifie que seuls les bogues critiques et les problèmes de sécurité seront traités, sans ajout de nouvelles fonctionnalités. Pour les API Google Cloud Platform (par exemple, Datastore, Cloud Storage, Pub/Sub, Compute Engine), Google recommande d'utiliser les bibliothèques clientes Google Cloud dédiées à la place. **Exigences** - PHP 8.0 ou version ultérieure **Installation** - Méthode préférée : Composer (`composer require google/apiclient`). La bibliothèque dépend de `google/apiclient-services`, qui fournit des wrappers d'API à jour. Il est recommandé d'épingler une version spécifique de `google/apiclient-services` en production pour éviter les changements cassants. - Alternative : Télécharger un fichier zip de version et inclure l'autoloader. - Pour réduire les dépendances, vous pouvez utiliser la tâche `Google\Task\Composer::cleanup` pour ne conserver que des services spécifiques (par exemple, Drive, YouTube) et supprimer ceux inutilisés. **Utilisation de base** - Inclure l'autoloader et créer une instance `Google\Client`. - Définir le nom de l'application, la clé développeur ou les informations d'authentification. - Utiliser les classes de service générées (par exemple, `Google\Service\Books`) pour effectuer des appels API. **Authentification** - OAuth 2.0 pour les applications Web : définir la configuration d'authentification, les portées, l'URI de redirection et échanger le code d'autorisation contre un jeton d'accès. - Comptes de service : utiliser la variable d'environnement `GOOGLE_APPLICATION_CREDENTIALS` ou définir directement la configuration d'authentification. La délégation à l'échelle du domaine peut usurper l'identité des utilisateurs via `setSubject`. - La méthode `authorize` renvoie un client Guzzle autorisé pour les requêtes HTTP directes. **Client HTTP et mise en cache** - Utilise Guzzle comme client HTTP par défaut, permettant des gestionnaires et intergiciels personnalisés. - Prend en charge les bibliothèques de mise en cache compatibles PSR-6 (par exemple, `cache/filesystem-adapter`) pour améliorer les performances. - Le débogage des requêtes HTTP peut être effectué à l'aide d'outils comme Charles. **Gestion des réponses non-JSON** - Certaines API renvoient du XML par défaut ; vous pouvez demander du JSON en ajoutant `'alt' => "json"` aux paramètres facultatifs. - Les champs nuls sont supprimés par défaut ; utilisez `Google\Model::NULL_VALUE` pour définir explicitement null. **Support et exemples** - Des exemples sont disponibles dans le répertoire `examples/`, y compris les téléchargements de fichiers et les comptes de service. - Pour le support, utilisez la balise google-api-php-client sur StackOverflow ou signalez les bogues sur GitHub. - Les demandes de fonctionnalités doivent être des demandes de bibliothèque de base ; les demandes spécifiques à l'API doivent être adressées aux équipes API respectives. **Qualité du code** - Les violations de style de codage peuvent être vérifiées et corrigées via les scripts Composer. Cette bibliothèque convient à l'intégration des API Google dans les applications PHP, avec une documentation complète dans le dossier `docs/`.