Introduction à l'API Gmail

Ce que vous allez créer

Introduction à l'API Gmail

En juin 2014, Google a présenté sa première API pour Gmail. Pour la première fois, les utilisateurs de comptes Gmail gratuits pouvaient gérer leurs comptes Gmail par programme sans IMAP..

À l'aide de l'API, vous pouvez effectuer bon nombre des mêmes opérations disponibles via l'interface utilisateur de Gmail, par exemple. lire, composer et envoyer des messages. Il vous permet également de gérer les étiquettes sur les fils et les messages, ainsi que de rechercher et de récupérer des messages et des fils spécifiques..

L'API est basée sur REST et peut être utilisée pour accéder aux boîtes aux lettres Gmail et envoyer des messages. Il permet notamment de contrôler:

  • Authentification
  • Messages et brouillons
  • Étiquettes
  • Les fils
  • Historique du compte

Google suggère les cas d'utilisation suivants pour l'API:

  • Extraction, indexation et sauvegarde du courrier en lecture seule
  • Gestion des étiquettes (ajout et suppression d'étiquettes)
  • Envoi de messages automatisé ou programmatique

Lorsque j'ai créé ma propre application de gestion de messagerie, Simplify Email (pour en savoir plus, consultez Tuts + dans Building Advanced Email Features avec IMAP et PHP), la seule API de messagerie de Google était réservée aux abonnés payants de Google Apps. Donc, j'ai tout construit sur IMAP. Bien que cela permette une compatibilité étendue avec d'autres fournisseurs de messagerie, cela crée certaines limitations en termes de performances et de sécurité..

L'API permet d'accéder aux comptes Gmail via OAuth. Cela permet un accès sécurisé et révocable aux comptes Gmail qui n'exige pas que les utilisateurs partagent leurs mots de passe de messagerie avec les fournisseurs d'applications.. 

Avec l'API Gmail, vous pouvez envoyer et récupérer des messages, appliquer des étiquettes, rechercher des messages avec des étiquettes et gérer les courriers électroniques dans les threads..

L'historique des comptes de l'API fournit un journal de l'activité des messages aux applications à référencer, ce qui réduit la complexité de la surveillance des modifications apportées aux comptes IMAP en temps réel..

Pour aider les développeurs à se familiariser avec l'API, Google fournit des guides de démarrage rapide pour Java, .NET et Python. Il existe également des bibliothèques client disponibles pour Java, Javascript, .NET, Objective-C, PHP et Python; Les bibliothèques Dart, Go, Node.js et Ruby sont proposées en début de développement..

Globalement, l'API Google Gmail est un grand pas en avant.

Le potentiel d'amélioration de Gmail

Je souhaite étendre Gmail depuis que j’ai écrit Douze idées Gmail pour révolutionner l’email (à nouveau) en 2010. API. Pour une application aussi importante que Gmail, l'innovation sur ce type de fonctionnalités avancées a été assez lente..

Nous nous noyons dans des e-mails et la gestion de nos boîtes de réception reste un lourd fardeau. Les services de courrier et les clients ont très peu fait pour nous aider avec cela. La plupart des courriels que nous recevons sont envoyés par des machines et non par des personnes, et pourtant nous sommes ceux qui doivent les traiter individuellement.. 

L'analyse de mon propre courrier électronique a montré que je recevais un courrier électronique de plus de 230 expéditeurs automatisés, beaucoup moins de personnes réelles. J'en avais assez de construire des filtres dans Gmail et de remplir une myriade de formulaires de désabonnement. Je voulais avoir plus de contrôle sur la gestion de mon courrier électronique et me simplifier la vie.

Grâce à IMAP, j'ai pu créer un certain nombre des fonctionnalités de gestion de messagerie souhaitées. Le résultat était Simplify Email:

Et maintenant, avec l’API Gmail, vous pouvez créer spécifiquement des solutions sécurisées et performantes telles que celles-ci pour Gmail..

De plus, en octobre 2014, Google a annoncé Inbox, mais il ne reste que sur invitation et cela fait trois mois que j'attends..

Il convient de noter que FastMail (en savoir plus à ce sujet ici) est à la base du développement de JMAP, une offre compétitive pour l’API propriétaire de Gmail, et que les autres fournisseurs IMAP pourraient théoriquement ajouter au support..

Si vous souhaitez en savoir plus sur JMAP, postez un commentaire ci-dessous. Je pourrais en parler à une date ultérieure.

Que pouvons-nous faire avec l'API Gmail??

Passons en revue les fonctionnalités de base de l'API Gmail. 

Authentification

L'API Gmail utilise OAuth 2.0 pour gérer l'authentification et l'autorisation. Il existe trois domaines d’authentification pouvant être utilisés individuellement ou en combinaison.. 

  • Lecture seule, par exemple lire un message de Gmail
  • Modifier, par exemple changer les étiquettes appliquées à un fil de discussion ou à un message
  • Composer, par exemple envoyer des messages au nom d'un utilisateur

Cela donne aux utilisateurs une variété de contrôles sur la manière dont les applications interagissent avec leur compte..

Composants API

L'API Gmail fournit cinq types de ressources principales:

  • messages
  • Étiquettes
  • Brouillons
  • L'histoire
  • Les fils

messages et les étiquettes sont les unités de base d’une boîte aux lettres. Les brouillons, l'historique et les fils de discussion contiennent tous un ou plusieurs messages avec des métadonnées supplémentaires..

Brouillons sont des messages non envoyés. Ils ne peuvent pas être modifiés uniquement créés et supprimés. Ils peuvent aussi être envoyés.

Étiquettes sont ce que nous utilisons comme dossiers dans Gmail. Ils aident à classer et à organiser les messages et les fils de discussion. Il existe à la fois des étiquettes système telles que INBOX, TRASH et SPAM et des étiquettes générées par l'utilisateur telles que TRAVEL..

Les fils sont des collections de messages qui représentent une conversation. Des étiquettes peuvent être ajoutées aux discussions et des messages peuvent être ajoutés aux discussions.

L'histoire est un ensemble de messages récemment modifiés, classés par ordre chronologique. L'historique peut être utilisé pour synchroniser une application ou pour récupérer des actions effectuées par l'utilisateur sur son compte.. 

Scénarios communs

Envoi de messages

Vous pouvez automatiser l'envoi de messages à partir du compte de l'utilisateur en téléchargeant des messages simples et en plusieurs parties, puis en les envoyant..

Récupérer les messages reçus

Étant donné l'ID d'un email provenant d'une requête de recherche ou d'historique, vous pouvez télécharger son contenu à l'aide de get message..

Recherche de messages

Vous pouvez trouver des messages et des discussions correspondant aux requêtes de filtre Gmail avancées..

Surveillance des modifications apportées au compte

Vous pouvez récupérer l'historique des actions du compte au cours des 30 derniers jours avec l'historique de la liste. Vous pouvez l'utiliser pour synchroniser partiellement un compte de messagerie avec votre application et même pour connaître les préférences de l'utilisateur en matière de filtrage des messages d'un certain type..

Gestion des étiquettes

Vous pouvez ajouter et supprimer des étiquettes appliquées aux messages et aux discussions..

Synchronisation complète

Vous pouvez sauvegarder un compte entier du début à la fin. L'API vous permet de parcourir les messages de votre compte avec la méthode de la liste de messages..

Et après?

Dans le prochain tutoriel, je commencerai à vous expliquer l'utilisation de l'API Gmail avec votre application PHP..

N'hésitez pas à poster vos questions et commentaires ci-dessous. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un courriel directement. Suivez la page de mon instructeur Tuts + pour consulter les prochains articles sur l'API Gmail..

Liens connexes

  • Présentation de l'API Google Gmail
  • Construire des fonctionnalités de messagerie avancées avec IMAP et PHP (Tuts +)
  • JMAP: un meilleur moyen de courrier électronique