Quelle API Google pour quel échange ?
Google Workspace n'a pas une API unique mais une famille d'API, une par produit, que l'on active dans un projet Google Cloud. Celles qui servent le plus à un logiciel métier :
| API | Ce qu'elle ouvre | Exemple d'usage |
|---|---|---|
| Gmail API | Messages, libellés, envoi, historique des changements | Transformer les e-mails d'une boîte en demandes |
| Google Calendar API | Agendas, événements, droits d'accès (ACL), paramètres | Poser les interventions dans l'agenda des techniciens |
| Google Drive API | Fichiers, dossiers, partages, Drives partagés | Classer les PDF dans le dossier du client |
| Sheets API, Docs API | Feuilles de calcul et documents | Alimenter un tableau de suivi partagé |
| People API | Contacts et profils du domaine | Aligner les contacts sur le CRM |
| Directory API | Utilisateurs et groupes de l'organisation | Ouvrir ou fermer les accès au logiciel |
Google ajoute une Workspace Events API pour s'abonner à des événements, un explorateur d'API (APIs Explorer), et une API distincte pour créer des applications Google Chat.
OAuth, compte de service, délégation : comment le logiciel obtient l'accès
Tout part d'un projet Google Cloud : on y active les API, configure l'écran de consentement OAuth et crée les identifiants. Google en distingue trois :
- Clé d'API : données publiques seulement, jamais les e-mails ou fichiers des salariés ;
- ID client OAuth : l'utilisateur autorise le logiciel à accéder à ses propres données, avec un ID par plateforme ;
- Compte de service : une identité d'application. Les rôles IAM de Google Cloud ne lui ouvrent pas Gmail ou Sheets : il faut lui partager les fichiers, lui donner un rôle d'administration, ou lui accorder une délégation à l'échelle du domaine.
Cette délégation permet au compte de service d'agir pour tous les utilisateurs de l'organisation, sans consentement individuel. Seul un super administrateur Workspace l'accorde, dans la console d'administration, en saisissant l'ID client du compte de service et la liste exacte des autorisations ; Google prévient que la prise d'effet peut demander jusqu'à 24 heures. C'est un pouvoir étendu : nous le limitons aux scopes indispensables, documentés un par un. Le fichier de clé JSON du compte de service ne se télécharge qu'une fois et rejoint aussitôt un coffre de secrets.
Scopes sensibles et restreints : le choix qui fixe le calendrier du projet
Chaque API classe ses autorisations (scopes) en non sensibles, sensibles et restreintes, et Google demande de retenir la plus étroite possible.
| Scope | Classement | Ce qu'il permet |
|---|---|---|
| gmail.labels | Non sensible | Voir et modifier les libellés |
| gmail.send | Sensible | Envoyer des e-mails au nom de l'utilisateur |
| gmail.readonly | Restreint | Lire les e-mails et les paramètres |
| gmail.modify | Restreint | Lire, rédiger et envoyer des e-mails |
| drive.file | Non sensible, recommandé | Seulement les fichiers ouverts ou partagés avec l'application |
| drive, drive.readonly | Restreints | Tous les fichiers de l'utilisateur |
Selon Google, une application publique qui demande des scopes sensibles ou restreints doit passer une vérification OAuth ; tant qu'elle manque, l'écran « application non vérifiée » s'affiche. Une application qui stocke ou transmet sur ses serveurs des données issues de scopes restreints passe en plus une évaluation de sécurité, et Google réserve les scopes Drive restreints à certaines catégories d'applications. Pour un logiciel qui dépose seulement des rapports dans Drive, drive.file suffit ; pour lire une boîte Gmail, la vérification se planifie dès le cadrage.
Quotas : ce que compte l'API Gmail
L'API Gmail compte en unités de quota, pas en requêtes. Selon la page des limites d'utilisation de Google :
| Limite ou coût | Valeur relevée en octobre 2026 |
|---|---|
| Par projet et par minute | 1 200 000 unités |
| Par utilisateur et par minute, dans un projet | 6 000 unités |
| Seuil quotidien par projet avant facturation | 80 000 000 unités |
| messages.send / messages.get / messages.list | 100 / 20 / 5 unités |
| history.list / watch | 2 / 100 unités |
| Destinataires par message | 500 |
Un utilisateur peut donc envoyer au plus 60 messages par minute par l'API s'il ne fait rien d'autre. Google signale que les projets créés à partir du 1er mai 2026 relèvent de nouveaux quotas et que les quotas quotidiens repartent à zéro à minuit, heure du Pacifique ; on les consulte et on les ajuste dans la console Google Cloud.
Notifications push : Gmail par Pub/Sub, Agenda et Drive par canal
Plutôt que d'interroger boîtes et agendas, le logiciel se fait prévenir, avec un mécanisme propre à chaque API :
- Gmail passe par Cloud Pub/Sub. Le logiciel appelle watch sur la boîte ; Google publie une notification avec l'adresse et un historyId ; le logiciel appelle history.list pour connaître les changements. La surveillance se renouvelle au moins tous les 7 jours (Google conseille chaque jour), et Gmail n'émet pas plus d'une notification par seconde et par utilisateur, les suivantes étant supprimées.
- Google Agenda utilise des canaux de type web_hook. La notification n'a pas de corps : l'en-tête X-Goog-Resource-State vaut sync, exists ou not_exists, et X-Goog-Channel-Token renvoie le jeton choisi par votre logiciel pour authentifier l'appel. Les canaux ne se prolongent jamais seuls, les certificats auto-signés sont refusés, et Google écrit que ces notifications ne sont pas fiables à 100 %.
- Google Drive fonctionne aussi par canaux, complétés par un journal des changements lu à partir d'un jeton de départ (startPageToken).
Dans les trois cas, une synchronisation de rattrapage périodique garantit qu'aucun e-mail ni rendez-vous n'est oublié.
Quatre flux Google Workspace dans une PME
- Les demandes clients entrent dans le logiciel. Les e-mails reçus sur contact@ portent le libellé « À traiter » ; le connecteur lit chaque nouveau message, crée une demande avec l'expéditeur et les pièces jointes, puis pose le libellé « Enregistré ». Voir centraliser les demandes clients.
- Le planning s'affiche dans Google Agenda. Le logiciel crée l'événement dans l'agenda du technicien par délégation à l'échelle du domaine ; si le technicien le déplace depuis son téléphone, la notification fait remonter le changement pour validation. Voir notre page sur le planning des techniciens.
- Les rapports rejoignent le Drive partagé. Le rapport signé, souvent plus lourd que 5 Mo avec ses photos, part en mode reprenable, Google réservant les envois simples aux fichiers de 5 Mo au plus. Il arrive dans le dossier du client.
- Les départs ferment les accès. Le connecteur lit les utilisateurs par la Directory API et désactive dans le logiciel métier le compte d'un salarié suspendu dans Workspace.
Sécurité, RGPD et solutions sans développement
Un connecteur qui lit Gmail voit des données de clients et de salariés. Scopes minimaux, délégation documentée, journal des accès et durées de conservation fixées s'imposent ; notre guide RGPD et logiciel métier détaille le registre des traitements.
Avant de développer, deux voies simples méritent un essai : les fonctions d'agenda ou de partage déjà présentes dans votre logiciel du marché, et les plateformes d'automatisation comme n8n, Make ou Zapier pour des flux simples (voir notre comparatif). Le développement s'impose quand le flux alimente des dossiers métier, demande des règles de rapprochement, ou doit fonctionner pour toute l'équipe par délégation.
Ce que YMHB Web remet au client
Le déroulé suit notre méthode : cadrage puis chiffrage, développement sur un compte Workspace de test, recette avec quelques utilisateurs pilotes, puis extension à toute l'organisation.
- le projet Google Cloud, les identifiants et le compte de service dans votre organisation, sous votre facturation ;
- la liste des scopes justifiée ligne à ligne, et le dossier de vérification Google quand il est nécessaire ;
- le code source du connecteur, avec sa documentation, dans votre propre dépôt ;
- la gestion des surveillances (renouvellement Gmail, recréation des canaux Agenda) et la synchronisation de rattrapage ;
- un journal des échanges et une alerte quand un quota approche ou qu'une notification manque.
Les entreprises équipées de Microsoft trouveront l'équivalent sur notre page Microsoft 365.
Questions fréquentes
Faut-il faire vérifier son application par Google pour lire Gmail ?
Oui pour une application publique. Les scopes qui permettent de lire Gmail, comme gmail.readonly ou gmail.modify, sont classés restreints par Google, et une application publique qui demande des scopes sensibles ou restreints doit passer une vérification OAuth. Si l'application stocke ou transmet ces données sur ses serveurs, Google exige en plus une évaluation de sécurité. Choisir un scope plus étroit, quand le besoin le permet, allège la procédure.
Un compte de service peut-il lire les agendas de tous les salariés ?
Oui, si un super administrateur Google Workspace lui accorde une délégation à l'échelle du domaine. Dans la console d'administration, il saisit l'ID client du compte de service et la liste exacte des scopes autorisés ; Google indique que la prise d'effet peut demander jusqu'à 24 heures. Sans cette délégation, les rôles IAM de Google Cloud ne donnent aucun accès aux données Workspace.
Combien d'e-mails peut-on envoyer par l'API Gmail ?
L'API Gmail raisonne en unités de quota : 6 000 unités par minute et par utilisateur, et 100 unités pour chaque appel messages.send, soit au plus 60 envois par minute si l'application ne fait rien d'autre. Un message ne peut pas dépasser 500 destinataires. Google applique aussi une limite de 1 200 000 unités par minute à l'échelle du projet.
Comment savoir qu'un e-mail est arrivé sans interroger Gmail en boucle ?
Avec les notifications push de l'API Gmail, qui passent par Cloud Pub/Sub. Le logiciel appelle la méthode watch sur la boîte, reçoit une notification contenant l'adresse et un historyId, puis appelle history.list pour lire les changements. Google demande de renouveler watch au moins tous les 7 jours et recommande de le faire chaque jour, avec une synchronisation de rattrapage.
Quelle autorisation choisir pour déposer des fichiers dans Google Drive ?
Le scope drive.file, que Google classe non sensible et recommande. Il ne donne accès qu'aux fichiers que l'utilisateur ouvre avec l'application ou partage avec elle, par exemple au moyen du sélecteur Google Picker. Les scopes drive et drive.readonly, qui ouvrent tous les fichiers de l'utilisateur, sont restreints : ils imposent une vérification et sont réservés par Google à certaines catégories d'applications.
À lire aussi
Sources
- Google for Developers, Google Workspace developer products (API)
- Google for Developers, Get started with Google Workspace development
- Google for Developers, Create access credentials (comptes de service, délégation)
- Google for Developers, Choose Gmail API scopes
- Google for Developers, Gmail API usage limits
- Google for Developers, Gmail API push notifications
- Google for Developers, Google Calendar API push notifications
- Google for Developers, Google Drive API
- Google for Developers, Choose Google Drive API scopes
- Google for Developers, Upload file data (Drive API)
- Google for Developers, View and edit quota limits
