Skip to content

Jeton daccès google drive

Google Drive est devenu l’une des plateformes de stockage et de collaboration en nuage les plus populaires, avec plus d’un milliard d’utilisateurs en 2018 (source). L’un des principaux facteurs du succès et de l’omniprésence de Drive est son API robuste, qui permet aux développeurs d’intégrer les capacités de Google Drive dans leurs propres applications. Toutefois, pour accéder aux données Drive d’un utilisateur, vous devez d’abord obtenir un jeton d’accès via le flux d’autorisation OAuth 2.0.

Dans ce guide détaillé, nous allons examiner de près les jetons d’accès Google Drive : ce qu’ils sont, comment les obtenir et les bonnes pratiques pour les utiliser de manière sécurisée et efficace. Nous allons parcourir le flux OAuth 2.0 étape par étape à l’aide d’exemples de code.

En outre, nous explorerons des sujets tels que :

  • Actualiser les jetons et comment les utiliser pour obtenir de nouveaux jetons d’accès
  • Différences entre le serveur Web OAuth 2.0, implicite et le compte de service Comparaison
  • de l’API Drive avec d’autres API de stockage dans le cloud
  • Optimisation des requêtes de l’API Drive pour améliorer les performances
  • Exemples et cas d’utilisation réels de l’API
  • Drive v2 vs v3

Que vous soyez un développeur novice ou expérimenté, il est essentiel de comprendre les tenants et aboutissants de l’autorisation de l’API Drive pour créer des applications capables de tirer pleinement parti des capacités de Google Drive. Plongeons dans le vif du sujet !

Qu’est-ce qu’un jeton d’accès Google Drive ?

Un jeton d’accès est une référence que les applications autorisées peuvent utiliser pour effectuer des demandes d’API au nom d’un utilisateur. Il s’agit d’une chaîne qui identifie votre application et l’utilisateur qui a accordé à l’application l’accès à ses données. Les jetons d’accès doivent rester confidentiels et ne doivent être partagés qu’entre l’application et les serveurs d’autorisation de Google.

Lorsqu’un l’application dispose d’un jeton d’accès, elle peut utiliser le jeton pour effectuer des requêtes d’API Google Drive, telles que la lecture des fichiers de l’utilisateur, la création de nouveaux fichiers, la modification des autorisations de fichiers, etc. L’API validera le jeton d’accès et autorisera la demande si le jeton est valide et a les portées nécessaires.

Les jetons d’accès ont une courte durée de vie, expirent généralement dans l’heure qui suit, et sont actualisés fréquemment. Il s’agit d’une mesure de sécurité visant à limiter la fenêtre de temps pendant laquelle un jeton d’accès divulgué peut être abusé.

Flux OAuth 2.0 pour les jetons d’accès Google Drive

Pour obtenir un jeton d’accès, votre application doit passer par le flux d’autorisation OAuth 2.0. Cela implique de rediriger l’utilisateur vers le serveur d’autorisation de Google, où il peut se connecter et accorder l’autorisation de votre application.

Les spécificités du flux dépendent de votre type d’application :

  • Les applications de serveur Web (s’exécutent sur un serveur et peut stocker en toute sécurité une clé secrète client) utiliser le flux de code d’autorisation
  • Les applications qui s’exécutent sur des appareils sans accès facile à un navigateur (comme les téléviseurs intelligents ou les consoles de jeux) utilisent le flux de code d’appareil
  • Les applications mobiles et de bureau doivent utiliser le flux OAuth 2.0 pour les applications mobiles et de bureau, qui est une variante du flux de code d’autorisation optimisée pour ces plateformes.

Voici

les étapes détaillées à suivre pour qu’une application de serveur Web obtienne un jeton d’accès à l’aide du flux de code d’autorisation :

  1. Votre application dirige l’utilisateur vers le point de terminaison d’autorisation de Google avec des paramètres de requête tels que l’ID client de votre application, un URI de redirection, les étendues demandées par votre application et un type de réponse « code » :
  1. L’utilisateur se connecte à son compte Google (si ce n’est pas déjà fait) connecté) et voit un écran de consentement expliquant les données auxquelles votre application demande l’accès. S’ils accordent l’accès, ils sont redirigés vers l’URI de redirection que vous avez spécifié avec un code d’autorisation ajouté en tant que paramètre de requête :
  1. Votre application envoie une requête POST au point de terminaison du jeton de Google pour échanger le code d’autorisation contre un jeton d’accès :
  1. si le code d’autorisation est valide, Google répond à l’aide d’un jeton d’accès (et éventuellement d’un jeton d’actualisation si votre application a demandé un accès hors connexion) :

Votre application est désormais autorisée et peut envoyer des requêtes à l’API Google Drive en incluant le jeton d’accès dans l’en-tête HTTP « Authorization » :

Flux implicite pour les applications basées sur un navigateur

Le flux est similaire au flux de code d’autorisation, mais ignore l’étape d’échange de code.

Au lieu de cela, l’accès token est renvoyé directement dans le fragment de l’URL de redirection une fois que l’utilisateur a accordé l’accès :

Toutefois, notez que les jetons d’accès de flux implicites ne peuvent pas être actualisés et ne sont valides que pendant une heure. Envisagez d’utiliser le flux de code d’autorisation avec Proof Key for Code Exchange (PKCE) à la place pour une sécurité améliorée.

Les

applications ou les démons de serveur à serveur qui s’exécutent sur vos propres serveurs peuvent utiliser des comptes de service pour autoriser les demandes d’API. Un compte de service est un compte spécial qui appartient à votre application plutôt qu’à un utilisateur individuel.

Pour utiliser un compte de service :

  1. créez un compte de service dans la console Google Cloud et téléchargez le fichier JSON de la clé privée
  2. Utilisez la bibliothèque cliente de l’API Google pour votre langue afin de créer un objet d’informations d’identification à partir du fichier JSON du compte de service
  3. Utilisez les informations d’identification pour autoriser les demandes d’API

Par exemple, en Python :

les comptes de service sont utiles lorsque votre application a besoin d’accéder à des ressources sur votre propre projet Google Cloud, comme la lecture à partir d’un dossier Drive partagé. Toutefois, ils ne peuvent pas être utilisés pour effectuer des demandes au nom d’utilisateurs Drive individuels.

Les jetons d’actualisation

permettent à votre application d’obtenir de nouveaux jetons d’accès sans demander à l’utilisateur d’accorder à nouveau l’accès. Un jeton d’actualisation est fourni la première fois que votre application échange un code d’autorisation contre un jeton d’accès (en supposant que vous avez inclus le paramètre « access_type=offline » dans la demande d’autorisation initiale).

Pour obtenir un nouveau jeton d’accès à l’aide d’un jeton d’actualisation, effectuez une requête POST au point de terminaison du jeton :

La réponse inclura un nouveau jeton d’accès :

Les jetons d’actualisation ont une longue durée de vie (bien qu’ils puissent devenir invalides si l’utilisateur révoque l’accès) et sont des informations d’identification sensibles qui doivent être stockées en toute sécurité. Quelques bonnes pratiques pour la gestion des jetons d’actualisation :

  • Ne stockez jamais les jetons d’actualisation dans le code côté client et ne les exposez jamais aux utilisateurs
  • Stockez les jetons d’actualisation chiffrés dans la banque de données backend de votre application
  • Limitez les systèmes et les employés qui peuvent accéder aux jetons d’actualisation stockés
  • Faites régulièrement pivoter les jetons d’actualisation en révoquant les anciens et en en obtenant de nouveaux

Comprendre les quotas et les limites

de l’API Drive L’API Google Drive applique des limites de débit et des quotas afin d’éviter les abus et de garantir un accès équitable et fiable à toutes les applications. Il est important de comprendre ces limites lors de la conception et de la création de votre application.

  • Limites de débit : plafonne le nombre de requêtes d’API qu’une application peut effectuer sur une période donnée, généralement par utilisateur et par seconde. Si votre application dépasse la limite de débit, les requêtes API échoueront avec un code d’erreur HTTP 403 ou 429.
  • Quotas quotidiens : nombre total de requêtes d’API qu’une application peut effectuer par jour. Ceci est partagé entre tous les utilisateurs de l’application. Si elles sont épuisées, les demandes d’API échouent avec une erreur 403.

Les limites de débit et les quotas varient selon la méthode API. Par exemple, l’API Drive a une limite de débit par défaut de 1 000 requêtes par 100 secondes par utilisateur et un quota quotidien par défaut de 1 milliard de requêtes.

Pour éviter d’atteindre les limites de débit et les quotas :

  • Mettez en cache les réponses de l’API pour éviter les demandes répétées pour les mêmes données
  • Utilisez l’interruption exponentielle pour réessayer les demandes ayant échoué
  • Regroupez plusieurs demandes en une seule requête HTTP à l’aide du point de terminaison de lot
  • Surveillez l’utilisation de votre API dans la console Google Cloud et définissez des budgets/alertes
  • Utiliser des réponses partielles et masques de champ pour ne demander que les données dont vous avez besoin Supprimer les
  • données inutilisées et les fichiers inutiles pour libérer le quota

Si vous avez besoin d’un quota plus élevé pour votre application, vous pouvez demander une augmentation via Google Cloud Console. Soyez prêt à justifier pourquoi votre demande a besoin d’un quota supplémentaire.

Comparaison de l’API Google Drive à d’autres API de stockage dans le cloud

Bien que Google Drive soit un choix populaire, il existe de nombreux autres fournisseurs de stockage dans le cloud qui proposent des API pour accéder et manipuler des fichiers, tels que Dropbox, Box et Microsoft OneDrive. Voici comment l’API Google Drive se compare :

API gratuites
Fonctionnalité API Google Drive Dropbox API Box API OneDrive
Stockage de fichiers 15 Go gratuits 2 Go gratuits 10 Go gratuits 5 Go de
limites de débit API 1000 requêtes/100 s par utilisateur 600 demandes/60 s 2000 demandes/60 s 600 demandes/60 s
Flux OAuth 2.0 Code d’autorisation, implicite, code de périphérique Code d’autorisation, implicite Code d’autorisation, implicite, code PIN Code d’autorisation, implicite
Demandes par lot Oui Oui Oui Oui
API de synchronisation Oui Oui Oui Non
API en temps réel Oui (obsolète) Non Non Non
Versions de fichiers Oui Oui Oui Oui Prise
en charge des langues Java, Python, Go, Node.js, .NET, Ruby, plus NET, Java, PHP, Objective-C, plus Java, .NET, Python, Node.js, Vue, iOS, Android .

Dans l’ensemble, l’API Google Drive est compétitive par rapport aux autres API de stockage en nuage en termes de fonctionnalités et de prise en charge des langues. Son offre de stockage gratuite généreuse et ses limites de débit élevées la rendent attrayante pour les développeurs. Cependant, les autres API peuvent être mieux adaptées en fonction de votre cas d’utilisation spécifique et de votre pile technologique.

Idées et cas d’utilisation

de l’intégration de l’API Google Drive La flexibilité et la puissance de l’API Google Drive permettent une grande variété d’applications et d’intégrations. Voici quelques exemples et idées pour faire preuve de créativité

  • Sauvegarde et synchronisation automatiques des fichiers : synchronisez en permanence les fichiers locaux ou les données de votre application avec le Google Drive de chaque utilisateur, en veillant à ce qu’ils disposent toujours d’une sauvegarde cloud à jour. Dropbox et Box offrent des fonctionnalités similaires via leurs API.

  • Édition collaborative de documents : utilisez l’API Drive conjointement avec les API Google Docs/Sheets/Slides pour intégrer des fonctionnalités de collaboration en temps réel à vos applications de productivité. Les utilisateurs peuvent ouvrir, modifier et enregistrer en toute simplicité des documents de votre application directement dans leur Drive.

  • Interface utilisateur personnalisée : créez une interface personnalisée pour Google Drive, adaptée à votre base d’utilisateurs. L’API Drive vous permet de répliquer la plupart des fonctionnalités de Drive dans l’interface utilisateur de votre application.

  • Ensembles de données ML alimentés par Drive : utilisez le Drive d’un utilisateur comme source pour les ensembles de données de machine learning. Avec le autorisation, vous pouvez analyser leurs fichiers Drive, extraire les données pertinentes et les intégrer à vos modèles ML pour obtenir des informations et des recommandations personnalisées.

  • Intégration de la gestion de projet : synchronisez les tâches, les fichiers et les livrables de votre application de gestion de projet avec les dossiers Drive de chaque utilisateur. Les membres de l’équipe peuvent facilement accéder aux dernières ressources du projet sans quitter Google Drive.

  • Sauvegarde des pièces jointes aux e-mails : analysez le compte Gmail d’un utilisateur (avec son autorisation) et enregistrez automatiquement toutes les pièces jointes dans un dossier Drive à l’aide de l’API Gmail et de l’API Drive. Cela désencombre la boîte de réception de l’utilisateur tout en garantissant la préservation des pièces jointes.

  • Analyse de l’utilisation de Drive : créez un tableau de bord d’analyse affichant des statistiques sur l’utilisation de Google Drive par une organisation, telles que la quantité de stockage utilisée, les utilisateurs les plus actifs, les fichiers les plus consultés et dossiers, etc. Agrégez les données de tous les utilisateurs à l’aide de l’API Rapports.

  • CMS simple : utilisez les dossiers et les fichiers Google Drive comme source de données principale pour un système de gestion de contenu simple. Les utilisateurs non techniques peuvent gérer le contenu d’un site Web dans Drive, tandis que votre application affiche et diffuse le contenu.

Il existe d’innombrables autres possibilités : l’API Drive vous permet d’intégrer les fonctionnalités de Google Drive à vos applications de manière innovante et puissante.

Google Drive API v2 vs v3

Depuis juin 2020, Google a officiellement abandonné l’API Drive v2 et recommande à toutes les applications de migrer vers la v3. Bien que la v2 continue de fonctionner pour les applications existantes, elle ne recevra plus de corrections de bogues ni de mises à jour de fonctionnalités.

Les principales différences entre Drive API v2 et v3 sont les suivantes :

  • la v3 utilise un modèle de ressources conforme aux normes basé sur les principes REST
  • v3 prend en charge des étendues OAuth plus granulaires pour une sécurité et une confidentialité améliorées v3
  • est plus performante avec des en-têtes de mise en cache améliorés et des tailles de réponse par défaut plus petites
  • v3 offre des fonctionnalités supplémentaires, comme la possibilité de créer des raccourcis vers des fichiers Drive
  • v3 s’intègre à Google Picker et à d’autres API

Google modernes Pour la plupart des cas d’utilisation, la migration vers Drive API v3 devrait être relativement simple. Les concepts de base et le flux d’authentification restent les mêmes d’une version à l’autre. Cependant, soyez conscient de ces modifications spécifiques :

  • Les URL des points de terminaison d’API ont changé, mettez donc à jour toutes les demandes d’API pour utiliser les nouvelles URL v3
  • Certains champs de ressource ont été renommés ou supprimés dans la v3
  • v3 utilise le paramètre de requête fields pour les réponses partielles au lieu du paramètre alt v2
  • Le point de terminaison v3 /revisions ne renvoie que les 200 dernières révisions au lieu de toutes les révisions.

Reportez-vous au guide de migration officiel pour plus d’informations sur la mise à niveau de votre application de l’API Drive v2 vers la v3.

Conclusion

L’API Google Drive est un outil puissant qui permet d’intégrer les capacités de stockage, de synchronisation et de collaboration de Google Drive dans vos applications. En comprenant comment authentifier et autoriser en toute sécurité votre application avec OAuth 2.0 et les jetons d’accès, vous pouvez libérer tout le potentiel de l’API Drive.

N’oubliez pas de suivre les bonnes pratiques pour gérer les informations d’identification sensibles, telles que les jetons d’actualisation, et de tenir compte des limites de débit et des quotas. Tenez compte des exigences et des cas d’utilisation uniques de votre application lorsque vous choisissez entre différents flux d’autorisation et fonctionnalités d’API.

Nous avons couvert beaucoup de terrain dans ce guide, de l’obtention de pour explorer les intégrations réelles de l’API Drive. Mais il reste encore beaucoup à découvrir. Utilisez ces connaissances comme base pour expérimenter l’API Google Drive et donner vie à vos idées d’application. Les possibilités sont vraiment infinies - alors rêvez grand, commencez petit et bon codage !

apparenté