Översikt över Gmail API

Gmail API är ett RESTful API som kan användas för att få tillgång till Gmail-brevlådor och skicka e-post. För de flesta webbapplikationer (inklusive mobilappar) är Gmail API det bästa valet för auktoriserad åtkomst till en användares Gmail-data.

Gmail API ger dig flexibel, RESTful åtkomst till användarens inkorg, med ett naturligt gränssnitt tillThreads,Messages,Labels,Drafts,History, och.Settings.Från det moderna språk du väljer kan din app använda API:et för att lägga tillGmail-funktioner som t.ex:

  • Läs meddelanden från Gmail
  • Sänd e-postmeddelanden
  • Modifiera de etiketter som tillämpas på meddelanden och trådar
  • Sök efter specifika meddelanden och trådar
  • Skapa filter för att automatiskt märka, vidarebefordra eller arkivera meddelanden

Allt du behöver för att använda Gmail API är klientbiblioteket för det språk du väljer och en app som kan autentisera dig som Gmail-användare.

Typiska användningsområden

Gmail API kan användas i en mängd olika tillämpningar, bland annat:

  • Extraktion, indexering och säkerhetskopiering av e-postmeddelanden med enbart läsning
  • Etiketthantering (lägg till/ta bort etiketter)
  • Automatiserad eller programmatisk sändning av meddelanden
  • Migrering av e-postkonton från andra leverantörer
  • Inställ standardiserade e-postsignaturer för användare i en domän

Hur kan jag få veta mer?

Använd den här dokumentationen för att börja bygga en Gmail-app idag:

  • Klientbiblioteken finns tillgängliga för nedladdning på flera språk och förenklar API-förfrågningar.
  • Teman i utvecklarguiden hjälper dig att bättre förstå hur du implementerar särskilda användningsfall.
  • I API-referensen får du information om varjeresurs och metod i Gmail API.

API-översikt

Gmail API är en webbtjänst: den använder ett RESTful API med en JSON-nyttolast.I det här avsnittet får du en allmän översikt över API-funktionerna och deras användning. Detaljerad information om API:s resurser och metoder finns i GmailAPI-referensen.

Nyckelresurstyper

Gmail API tillhandahåller flera resurstyper:

  • Messages
  • Labels
  • Drafts
  • History
  • Threads
  • Settings

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

Meddelanden är oföränderliga: de kan bara skapas och raderas. Inga meddelandeegenskaper kan ändras förutom de etiketter som tillämpas på ett visst meddelande.

Etiketter är det primära sättet att kategorisera och organisera meddelanden och trådar. En etikett har ett många-till-många-förhållande till meddelanden och trådar: ett enskilt meddelande kan ha flera etiketter och en enda etikett kan tillämpas på flera meddelanden eller trådar. Etiketter finns också i två typer: system och user. Systemetiketter, t.ex. INBOX, TRASH eller SPAM, skapas internt och kan inte skapas, raderas eller ändras. Vissa systemetiketter, t.ex. INBOX, kan dock tillämpas på eller tas bort från meddelanden och trådar. Användaretiketter kan läggas till, tas bort eller ändras av användaren eller ett program.

Drafts representerar osända meddelanden. Meddelandena i sig kan inte ändras när de väl har skapats, men det meddelande som ingår i utkastet kan ersättas.När ett utkast skickas raderas automatiskt utkastet och ett meddelande skapas med systemetiketten SENT.

Historik är en samling av nyligen ändrade meddelanden i kronologisk ordning.Även om historiken är tänkt att vara en lättviktig metod för att synkronisera en klient, innehåller den vanligtvis bara uppgifter om ändringar under de senaste 30 dagarna. I vissa fall, t.ex. när en klient blir för gammal, bör klienten synkroniseras manuellt.

Threads är samlingar av meddelanden som representerar en konversation. Liksom meddelanden kan trådar också förses med etiketter. Men till skillnad från meddelanden kan trådar inte skapas, utan endast raderas. Meddelanden kan dock infogas i en tråd.

Inställningar styr hur funktioner i Gmail beter sig för en användare. Inställningar finns för POP- och IMAP-åtkomst, vidarebefordran av e-post, filter, automatiskt svar på semestrar, alias för sändningsformat, signaturer, delegater och språk.

Autentisering och Gmail API

Likt andra REST API:er från Google använder Gmail API:erOAuth 2.0 för att hantera autentisering och auktorisering. Din app kommer att ange ett eller flera scope: strängar som identifierar resurser som den behöver få tillgång till. Dessa scopes används tillsammans med en uppsättning tokens för att säkra en användares åtkomst till resurser.Ett scope representerar en viss form av åtkomst till en enskild resurs eller till en grupp av resurser, till exempel:

  • Läs ett meddelande från Gmail (https://www.googleapis.com/auth/gmail.readonly)
  • Ändra etiketter som tillämpas på en tråd eller ett meddelande(https://www.googleapis.com/auth/gmail.modify)
  • Sänd ett meddelande för en användares räkning(https://www.googleapis.com/auth/gmail.compose)

Du kan visserligen koda auktoriseringskallarna för webbtjänsten explicit, men i regel bör du förenkla appen genom att använda Google API-klientbiblioteken som finns tillgängliga för många programmeringsspråk.

För mer information om hur du använder auth med Gmail API, seAutentiserar din app med Gmail.

Skope

Gmail API har stöd för ett antal finfördelade auktoriseringsskopeför att endast tillåta den åtkomstnivå som krävs. Genom att begära den minsta åtkomstnivå som krävs känner sig användarna säkrare på att bevilja åtkomst till sin brevlåda.

Exempel på användningsfall

Tänk på följande användningsfall: att skriva ut en sida med trådar för den för tillfället autentiserade användaren (t.ex. i panelen för senaste meddelanden).För att åstadkomma detta skulle appen utföra följande steg:

  1. Autentisera dig som användare med hjälp avhttps://www.googleapis.com/auth/gmail.readonly-omfånget.
  2. Kalla API-metoden.GET https://www.googleapis.com/gmail/v1/users/<userId>/threads
  3. Behandla den returnerade listan över trådar i din app.

För riktig exempelkod hänvisar du till Quickstart för det språk du väljer.

Gemensamma användningsområden

Det här avsnittet ger en mycket översiktlig bild av hur några vanliga användningsområden kan implementeras. För mer detaljer hänvisar du till utvecklarhandböckerna.

Sändning av Gmail-meddelanden

E-postmeddelanden skickas som base64url-kodade strängar inom rawegenskapen för ett meddelande. Så här skapar och skickar du ett meddelande:

  1. Skapa e-postinnehållet på något lämpligt sätt, vilket kan bero på vilket programspråk du använder.
  2. Skapa en base64url-kodad strängrepresentation av detta innehåll.
  3. Skapa en ny messageresource och sätt dess rawegenskap till den base64url-sträng du just skapat.
  4. Kalla messages.sendför att skicka meddelandet.

Hämtning av mottagna e-postmeddelanden

Genom ID:t för ett e-postmeddelande kan du hämta innehållet med hjälp avgetmetoden för Users.messages-resursen.

När du hämtar ett meddelande kan du ange formatet på nyttolasten för svaret.FULLformatet (standard) returnerar hela det analyserade meddelandet i payload-fältet.MINIMAL-formatet returnerar endast metadata, t.ex. identifierare och etiketter.RAW-formatet returnerar data som en base64url-kodad sträng i raw-egenskapen.

Historik över e-poständringar

Meddelandeändringar representeras avHistory objects. Med egenskapenstart_history_id kan du ange från vilken punkt du vill att ändringar ska returneras. Vissa ändringar kan påverka mer än ett meddelande och då kommer historiken som representerar ändringen att innehålla flera meddelanden.

Märkningshantering

Märkningar som appliceras på en tråd appliceras också på alla meddelanden inom tråden.Om en märkning tas bort tas den bort från alla trådar och meddelanden som den applicerades på. Egenskapen messageListVisibility används för att avgöra om meddelanden med den här etiketten visas i meddelandelistan. På samma sätt används labelListVisibility för att avgöra om etiketten visas i etikettlistan. Du kan använda metodenmessages.modify ellerthreads.modify för att ändra de etiketter som tillämpas på meddelanden respektive trådar.

Leave a Reply