Im Juni 2014 stellte Google seine erste API für Google Mail vor. Zum ersten Mal konnten Nutzer von kostenlosen Google Mail-Konten ihre Google Mail-Konten ohne IMAP programmgesteuert verwalten.
Mit der API können Sie viele der gleichen Vorgänge ausführen, die über die Google Mail-Benutzeroberfläche verfügbar sind, z. Lesen, Verfassen und Senden von Nachrichten. Außerdem können Sie Labels für Threads und Nachrichten verwalten und nach bestimmten Nachrichten und Threads suchen und diese abrufen.
Die API basiert auf REST und kann für den Zugriff auf Google Mail-Postfächer und das Senden von E-Mails verwendet werden. Es bietet insbesondere die Kontrolle über:
Google schlägt folgende Anwendungsfälle für die API vor:
Bei der Erstellung meiner eigenen E-Mail-Verwaltungsanwendung, E-Mail vereinfachen (weitere Informationen hierzu finden Sie unter Tuts + in Erweiterte E-Mail-Funktionen erstellen.) Mit IMAP und PHP war die einzige E-Mail-API von Google auf bezahlte Google Apps-Abonnenten beschränkt. Also habe ich alles auf IMAP aufgebaut. Dies ermöglichte zwar eine weitgehende Kompatibilität mit anderen E-Mail-Anbietern, führte jedoch zu Einschränkungen bei der Leistung und Sicherheit.
Die API bietet Zugriff auf Google Mail-Konten über OAuth. Dies ermöglicht einen sicheren, widerrufbaren Zugriff auf Google Mail-Konten, bei denen die Benutzer ihre E-Mail-Kennwörter nicht mit Anwendungsanbietern teilen müssen.
Mit der Google Mail-API können Sie Nachrichten senden und abrufen, Beschriftungen zuweisen, Nachrichten mit Beschriftungen suchen und E-Mails in Threads verwalten.
Die Kontenhistorie der API bietet ein Protokoll der Nachrichtenaktivitäten, auf die Anwendungen verweisen können, wodurch die Überwachung von Änderungen an IMAP-Konten in Echtzeit vereinfacht wird.
Um Entwicklern beim Einstieg in die API zu helfen, bietet Google Kurzanleitungen für Java, .NET und Python. Es gibt auch Client-Bibliotheken für Java, Javascript, .NET, Objective-C, PHP und Python. Dart-, Go-, Node.js- und Ruby-Bibliotheken werden als frühe Entwicklungsstufe angeboten.
Insgesamt ist die Google Gmail API ein großer Schritt nach vorne.
Ich bin daran interessiert, Gmail zu erweitern, seit ich Twelve Gmail Ideas 2010 geschrieben habe, um Email erneut zu revolutionieren. Die meisten Ideen, die ich mir gewünscht hatte, wie beispielsweise das weiße Auflisten und Nichtstören, blieben außerhalb der Reichweite von Googles Bemühungen API. Für eine ebenso wichtige Anwendung wie Gmail war die Innovation bei diesen fortgeschrittenen Funktionen recht langsam.
Wir ertrinken in E-Mails, und die Verwaltung unserer Posteingänge bleibt eine große Belastung. Mail-Dienste und Kunden haben uns dabei sehr geholfen. Die meisten E-Mails, die wir erhalten, werden von Maschinen gesendet, nicht von Menschen, und dennoch müssen wir alle E-Mails individuell bearbeiten.
Die Analyse meiner eigenen E-Mail zeigte, dass ich E-Mails von mehr als 230 automatisierten Absendern erhielt, viel weniger tatsächliche Personen. Ich war es leid, Filter in Gmail zu erstellen und eine Vielzahl von Formularen zum Abbestellen auszufüllen. Ich wollte mehr Kontrolle über die Verwaltung meiner E-Mails haben und mein Leben vereinfachen.
Mit IMAP konnte ich einige der E-Mail-Verwaltungsfunktionen erstellen, die ich wollte. Das Ergebnis war E-Mail vereinfachen:
Mit der Google Mail-API können Sie jetzt sichere und optimal funktionierende Lösungen speziell für Google Mail erstellen.
Im Oktober 2014 kündigte Google Inbox an, aber es bleibt nur Einladung und ich habe drei Monate gewartet.
Es ist erwähnenswert, dass FastMail (hier erfahren Sie mehr darüber) die Entwicklung von JMAP anführt, ein konkurrenzfähiges Angebot für die proprietäre Gmail-API, für das andere IMAP-Anbieter theoretisch Unterstützung hinzufügen könnten.
Wenn Sie mehr über JMAP erfahren möchten, schreiben Sie unten einen Kommentar. Ich kann später darüber schreiben.
Gehen wir die grundlegenden Funktionen der Google Mail-API durch.
Die Google Mail-API verwendet OAuth 2.0 für die Authentifizierung und Autorisierung. Es gibt drei Authentifizierungsbereiche, die einzeln oder in Kombination verwendet werden können.
Auf diese Weise haben Benutzer verschiedene Steuerelemente für die Interaktion von Apps mit ihrem Konto.
Die Google Mail-API bietet fünf primäre Ressourcentypen:
Mitteilungen und Etiketten sind die Grundeinheiten einer Mailbox. Entwürfe, Verlauf und Threads enthalten alle eine oder mehrere Nachrichten mit zusätzlichen Metadaten.
Entwürfe sind nicht gesendete Nachrichten. Sie können nicht geändert, sondern nur erstellt und gelöscht werden. Sie können auch gesendet werden.
Etiketten verwenden wir als Ordner in Google Mail. Sie helfen bei der Kategorisierung und Organisation von Nachrichten und Threads. Es gibt sowohl Systemetiketten wie INBOX, TRASH und SPAM als auch vom Benutzer generierte Labels wie TRAVEL.
Fäden sind Sammlungen von Nachrichten, die eine Konversation darstellen. Labels können zu Threads hinzugefügt werden, und Nachrichten können zu Threads hinzugefügt werden.
Geschichte ist eine Sammlung kürzlich modifizierter Nachrichten in chronologischer Reihenfolge. Der Verlauf kann zum Synchronisieren einer Anwendung oder zum Abrufen von Aktionen verwendet werden, die der Benutzer für sein Konto ausgeführt hat.
Sie können das Senden von Nachrichten vom Konto des Benutzers aus automatisieren, indem Sie einfache und mehrteilige Nachrichten hochladen und versenden.
Wenn Sie die ID einer E-Mail aus einer Such- oder Verlaufsanfrage erhalten, können Sie deren Inhalt mithilfe der Get-Nachricht herunterladen.
Sie können Nachrichten und Threads finden, die erweiterten Google Mail-Filterabfragen entsprechen.
Sie können den Verlauf der Kontoaktionen der letzten 30 Tage mit dem Listenverlauf abrufen. Sie können dies verwenden, um ein Postfachkonto teilweise mit Ihrer Anwendung zu synchronisieren und sogar die Präferenzen des Benutzers für das Filtern von Nachrichten einer bestimmten Art kennenzulernen.
Sie können Labels hinzufügen und entfernen, die auf Nachrichten und Threads angewendet werden.
Sie können ein gesamtes Konto von Anfang bis Ende sichern. Mit der API können Sie Nachrichten in Ihrem Konto mit der Nachrichtenlistenmethode durchblättern.
Im nächsten Tutorial werde ich Sie durch die Verwendung der Google Mail-API mit Ihrer PHP-basierten Anwendung führen.
Bitte zögern Sie nicht, unten Ihre Fragen und Kommentare zu posten. Sie können mich auch auf Twitter @reifman erreichen oder mich direkt per E-Mail kontaktieren. Folgen Sie meiner Tuts + Instructor-Seite, um zukünftige Artikel zur Google Mail-API anzuzeigen.