I juni 2014 introduserte Google sin første API for Gmail. For første gang kan brukere av gratis Gmail-kontoer programmatisk administrere sine Gmail-kontoer uten IMAP.
Ved hjelp av API-en kan du utføre mange av de samme operasjonene som er tilgjengelige via Gmail-brukergrensesnittet, f.eks. lese, komponere og sende meldinger. Den lar deg også administrere etiketter på tråder og meldinger, og søke etter og hente bestemte meldinger og tråder.
API-en er REST-basert og kan brukes til å få tilgang til Gmail-postkasser og sende e-post. Det gir spesifikt kontroll over:
Google foreslår følgende brukstilfeller for API: et:
Når jeg bygget mitt eget e-postadministrasjonsprogram, forenkler e-post (les mer om det ved Tuts + i Building Advanced Email-funksjoner med IMAP og PHP), var det eneste Google-e-post-APIet begrenset til betalte abonnenter av Google Apps. Så, jeg bygget alt på IMAP. Selv om dette tillot for bred kompatibilitet med andre e-postleverandører, skapte det noen begrensninger rundt ytelse og sikkerhet.
API gir tilgang til Gmail-kontoer via OAuth. Dette gjør det mulig for sikker, tilbakekallelig tilgang til Gmail-kontoer som ikke krever at brukere skal dele e-postpassordene sine med programleverandører.
Med Gmail-API kan du sende og hente meldinger, bruke etiketter, finne meldinger med etiketter og administrere e-post innen tråder.
API-kontohistorikken gir en logg av meldingsaktivitet for applikasjoner som skal refereres, og reduserer kompleksiteten til overvåking av endringer i IMAP-kontoer i sanntid.
For å hjelpe utviklere dykke inn med API, gir Googles hurtigstartsguider for Java, .NET og Python. Det finnes også klientbiblioteker tilgjengelig for Java, Javascript,. NET, Objective-C, PHP og Python; Dart, Go, Node.js og Ruby-biblioteker tilbys som tidlig stadium / i utvikling.
Samlet sett er Google Gmail-API et flott skritt fremover.
Jeg har vært interessert i å utvide Gmail siden jeg skrev tolv Gmail-ideer for å revolusjonere e-post (igjen) i 2010. De fleste ideene jeg ønsket, for eksempel hvit notering og ikke forstyrre, holdt seg utenfor rekkevidde uten Googles innsats eller en API. For like viktig et program som Gmail er, var innovasjon på slike avanserte funksjoner ganske treg.
Vi drukner i e-post, og det er en tung byrde å administrere innbokser. E-posttjenester og klienter har gjort svært lite for å hjelpe oss med dette. Det meste av e-posten vi mottar, sendes av maskiner, ikke folk, og likevel er vi de som må behandle alt det.
Analyse av min egen e-post viste at jeg mottok e-post fra mer enn 230 automatiserte sendere, langt færre faktiske personer. Jeg var lei av å konstruere filtre i Gmail og fylle ut et mylder av abonnementskjemaer. Jeg ønsket å ha mer kontroll over å administrere e-posten min og forenkle livet mitt.
Ved hjelp av IMAP, var jeg i stand til å bygge en rekke e-postbehandling funksjoner jeg ønsket. Resultatet var forenkle e-post:
Og nå, med Gmail-API, kan du bygge sikker og optimalt utføre løsninger som disse spesielt for Gmail.
I oktober 2014 annonserte Google også Innboks, men det er fortsatt invitasjon, og jeg har ventet på tre måneder.
Det er verdt å merke seg at FastMail (lær mer om dem her) er ledende utvikling av JMAP, et konkurransedyktig tilbud til den proprietære Gmail-APIen, og en hvilken annen IMAP-leverandør kan teoretisk legge til støtte for.
Hvis du er interessert i å lære mer om JMAP, legg inn en kommentar nedenfor; Jeg kan skrive om det på et senere tidspunkt.
La oss gå gjennom de grunnleggende funksjonene i Gmail API.
Gmail API bruker OAuth 2.0 til å håndtere godkjenning og autorisasjon. Det er tre autentiseringsområder som kan brukes enkeltvis eller i kombinasjon.
Dette gir brukerne en rekke kontroller av hvordan apps kommuniserer med sin konto.
Gmail API gir fem primære ressurstyper:
meldinger og etiketter er de grunnleggende enhetene i en postkasse. Kladd, historie og tråder inneholder alle en eller flere meldinger med ekstra metadata.
utkast er usendte meldinger. De kan ikke endres, bare opprettet og slettet. De kan også sendes.
etiketter er det vi bruker som mapper i Gmail. De hjelper med å kategorisere og organisere meldinger og tråder. Det er både systemetiketter som INBOX, TRASH og SPAM og brukergenererte etiketter som TRAVEL.
tråder er samlinger av meldinger som representerer en samtale. Etiketter kan legges til tråder, og meldinger kan legges til tråder.
Historie er en samling av nylig endrede meldinger i kronologisk rekkefølge. Historien kan brukes til å synkronisere et program eller for å hente handlinger som brukeren har tatt på sin konto.
Du kan automatisere sending av meldinger fra brukerens konto ved å laste opp enkle og flerdelte meldinger og sende dem.
Gitt ID av en e-post fra et søk eller en historisk forespørsel, kan du laste ned innholdet ved hjelp av få melding.
Du kan finne meldinger og tråder som samsvarer med avanserte Gmail-filterforespørsler.
Du kan hente historikk av kontohandlinger de siste 30 dagene med listeloggen. Du kan bruke dette til å synkronisere en postkasse konto til din søknad og til og med å lære om brukerens preferanser for å filtrere meldinger av en bestemt type.
Du kan legge til og fjerne etiketter som er brukt på meldinger og tråder.
Du kan sikkerhetskopiere en hel konto fra begynnelse til slutt. Med API kan du bla gjennom meldinger i kontoen din med meldingslistemetoden.
I den neste opplæringen begynner jeg å gå gjennom Gmail-API-en din med PHP-basert applikasjon.
Ta gjerne inn dine spørsmål og kommentarer nedenfor. Du kan også nå meg på Twitter @ reifman eller email meg direkte. Følg min Tuts + instruktørside for å se fremtidige artikler i Gmail API.