Introduktion till Gmail API

Vad du ska skapa

Introduktion till Gmail API

I juni 2014 introducerade Google sitt första API för Gmail. För första gången kan användare av gratis Gmail-konton programmässigt hantera sina Gmail-konton utan IMAP.

Med hjälp av API kan du utföra många av samma operationer som är tillgängliga via Gmail-användargränssnittet, t.ex. läsa, komponera och skicka meddelanden. Det låter dig också hantera etiketter på trådar och meddelanden, och söka efter och hämta specifika meddelanden och trådar.

API: n är REST-baserad och kan användas för att komma åt Gmail-brevlådor och skicka e-post. Det ger specifikt kontroll över:

  • autentisering
  • Meddelanden och utkast
  • Etiketter
  • Trådar
  • konto~~POS=TRUNC

Google föreslår följande användningsfall för API:

  • Lässkyddad postutvinning, indexering och säkerhetskopiering
  • Etiketthantering (lägg till och ta bort etiketter)
  • Automatiskt eller programmatiskt meddelandeöverföring

När jag byggde mitt eget e-posthanteringsprogram, Förenkla e-post (läs mer om det på Tuts + i Building Advanced Email-funktioner med IMAP och PHP) var det enda Google-e-postprogrammet begränsat till betalda abonnenter av Google Apps. Så, jag byggde allt på IMAP. Medan detta tillåts för bred kompatibilitet med andra e-postleverantörer skapade det vissa begränsningar kring prestanda och säkerhet.

API: n ger åtkomst till Gmail-konton via OAuth. Detta möjliggör säker, återkallelig tillgång till Gmail-konton som inte kräver att användare ska dela sina e-postlösenord med programleverantörer. 

Med Gmail API kan du skicka och hämta meddelanden, använda etiketter, hitta meddelanden med etiketter och hantera e-post inom trådar.

API: ns kontohistorik ger en logg av meddelandeaktivitet för applikationer som referens, vilket reducerar komplexiteten i övervakningsändringar i IMAP-konton i realtid.

För att hjälpa utvecklare att dyka in med API: n ger Googles snabbstartguider för Java, .NET och Python. Det finns också klientbibliotek tillgängliga för Java, Javascript,. NET, Objective-C, PHP och Python; Dart, Go, Node.js och Ruby-bibliotek erbjuds så tidigt / i utveckling.

Totalt sett är Google Gmail API ett bra steg framåt.

Möjligheten att förbättra Gmail

Jag har varit intresserad av att utöka Gmail sedan jag skrev tolv Gmail-idéer för att revolutionera e-post (igen) 2010. De flesta av de idéer jag önskade, till exempel vit notering och stör inte, var oåtkomliga utan Googles ansträngningar eller en API. För lika viktig en applikation som Gmail är, var innovation på dessa avancerade funktioner ganska långsam.

Vi drunknar i e-post, och hanteringen av våra inkorgar är fortfarande en tung börda. E-posttjänster och kunder har gjort mycket lite för att hjälpa oss med detta. Det mesta av e-postmeddelandet vi skickar skickas av maskiner, inte människor, och ändå är vi de som måste individuellt behandla allt. 

Analys av mitt eget e-mail visade att jag fick email från mer än 230 automatiserade avsändare, betydligt färre faktiska personer. Jag var trött på att konstruera filter i Gmail och fylla i ett myriat av unsubscribe formulär. Jag ville ha mer kontroll över att hantera min e-post och förenkla mitt liv.

Med hjälp av IMAP kunde jag bygga ett antal e-posthanteringsfunktioner som jag ville ha. Resultatet var att förenkla e-post:

Och med Gmail API kan du bygga säkert och optimalt utföra lösningar som dessa specifikt för Gmail.

I oktober 2014 meddelade Google också Inbox, men det är fortfarande enbart inbjudan och jag har väntat på tre månader.

Det är värt att notera att FastMail (läs mer om dem här) är ledande för utvecklingen av JMAP, ett konkurrenskraftigt erbjudande till det proprietära Gmail API, och en som andra IMAP-leverantörer kan teoretiskt lägga till stöd för.

Om du är intresserad av att lära dig mer om JMAP, skriv en kommentar nedan. Jag kan skriva om det vid ett senare tillfälle.

Vad kan vi göra med Gmail API?

Låt oss gå igenom de grundläggande funktionerna i Gmail API. 

autentisering

Gmail API använder OAuth 2.0 för att hantera autentisering och behörighet. Det finns tre autentiseringsområden som kan användas individuellt eller i kombination. 

  • Endast läs, t.ex. läs ett meddelande från Gmail
  • Ändra, t.ex. ändra etiketter som tillämpas på en tråd eller ett meddelande
  • Komponera, t.ex. skicka meddelanden på uppdrag av en användare

Detta ger användarna en mängd kontroller av hur apps interagerar med deras konto.

API-komponenter

Gmail API innehåller fem primära resursformer:

  • meddelanden
  • Etiketter
  • utkast
  • Historia
  • Trådar

meddelanden och etiketter är de grundläggande enheterna i en brevlåda. Utkast, historia och trådar innehåller alla ett eller flera meddelanden med ytterligare metadata.

utkast är unsända meddelanden. De kan inte ändras, bara skapade och raderade. De kan också skickas.

Etiketter Det är vad vi använder som mappar i Gmail. De hjälper till med att kategorisera och organisera meddelanden och trådar. Det finns både systemetiketter som INBOX, TRASH och SPAM och användargenererade etiketter som TRAVEL.

Trådar är samlingar av meddelanden som representerar en konversation. Etiketter kan läggas till trådar och meddelanden kan läggas till trådar.

Historia är en samling nyligen modifierade meddelanden i kronologisk ordning. Historik kan användas för att synkronisera ett program eller för att hämta handlingar som användaren tagit på sitt konto. 

Vanliga scenarier

Skickar meddelanden

Du kan automatisera skicka meddelanden från användarens konto genom att ladda upp enkla och flerdelade meddelanden och skicka dem.

Hämtar mottagna meddelanden

Med tanke på ett e-postmeddelande från en sök- eller historikförfrågan kan du hämta innehållet med hjälp av få meddelande.

Söker efter meddelanden

Du kan hitta meddelanden och trådar som motsvarar avancerade Gmail-filterfrågor.

Övervaka ändringar i kontot

Du kan hämta historia om kontoåtgärder under de senaste 30 dagarna med listhistorik. Du kan använda detta för att delvis synkronisera ett brevlådkonto till din ansökan och även om du vill lära dig användarens preferenser för att filtrera meddelanden av en viss typ.

Etiketthantering

Du kan lägga till och ta bort etiketter som tillämpas på meddelanden och trådar.

Full synkronisering

Du kan säkerhetskopiera ett helt konto från början till slut. API: n gör att du kan bläddra igenom meddelanden i ditt konto med meddelandelistan.

Vad kommer härnäst?

I nästa handledning börjar jag gå igenom dig med hjälp av Gmail API med din PHP-baserade applikation.

Var snäll och posta dina frågor och kommentarer nedan. Du kan också nå mig på Twitter @ reifman eller maila mig direkt. Följ min Tuts + instruktörssida för att se framtida artiklar i Gmail API.

relaterade länkar

  • Översikt över Google Gmail API
  • Bygga avancerade e-postfunktioner med IMAP och PHP (Tuts +)
  • JMAP: Ett bättre sätt att maila