Prezentare generală a API Gmail
Aplicația Gmail este o API RESTful care poate fi utilizată pentru a accesa căsuțele poștale Gmail și pentru a trimite e-mailuri. Pentru majoritatea aplicațiilor web (inclusiv aplicațiile mobile), Gmail API estecea mai bună alegere pentru accesul autorizat la datele Gmail ale unui utilizator.
Aplicația Gmail vă oferă acces flexibil, RESTful la căsuța poștală a utilizatorului, cu o interfață naturală pentruThreads
,Messages
,Labels
,Drafts
,History
și.Settings
.Din limbajul modern pe care îl alegeți, aplicația dvs. poate folosi API-ul pentru a adăuga funcțiiGmail precum:
- Citește mesaje din Gmail
- Întoarceți mesaje de e-mail
- Modificați etichetele aplicate mesajelor și firelor de discuție
- Cercetați mesaje și fire de discuție specifice
- Creați filtre pentru a eticheta automat, redirecționarea sau arhivarea mesajelor
Tot ce aveți nevoie pentru a utiliza API-ul Gmail este biblioteca client pentru limba aleasă de dumneavoastră și o aplicație care să se poată autentifica ca utilizator Gmail.
Cazuri tipice de utilizare
Apif-ul Gmail poate fi utilizat într-o varietate de aplicații diferite, inclusiv,de obicei:
- Extragerea, indexarea și copierea de rezervă a corespondenței doar pentru citire
- Gestionarea etichetelor (adăugarea/eliminarea etichetelor)
- Transmiterea automată sau programatică a mesajelor
- Migrarea conturilor de e-mail de la alți furnizori
- Stabilirea de semnături de e-mail standardizate pentru utilizatorii dintr-un domeniu
Cum pot afla mai multe?
Utilizați această documentație pentru a începe să construiți astăzi o aplicație Gmail:
- Bibliotecile client sunt disponibile pentru descărcare în mai multe limbi și simplifică efectuarea de cereri API.
- Subiectele din ghidul dezvoltatorului vă ajută să înțelegeți mai bine cum să implementați cazuri de utilizare particulare.
- Referința API vă oferă detalii despre fiecare resursă și metodă din API Gmail.
Prezentare generală API
Apif Gmail este un serviciu web: utilizează o API RESTful cu o sarcină utilă JSON.Această secțiune oferă o prezentare generală a caracteristicilor API și a utilizării lor. Pentru informații detaliate despre resursele și metodele API, consultați referința GmailAPI.
Tipuri de resurse cheie
Apif Gmail oferă mai multe tipuri de resurse:
- Messages
- Labels
- Drafts
- History
- Threads
- Settings
Messages and labels are the basic units of a mailbox. Drafts, history șithreads conțin toate unul sau mai multe mesaje cu metadate suplimentare.
Mesajele sunt imuabile: ele pot fi doar create și șterse. Nici o proprietate a mesajelor nu poate fi modificată, în afară de etichetele aplicate unui anumit mesaj.
Etichetele servesc ca mijloc principal de clasificare și organizare a mesajelor și a discuțiilor. O etichetă are o relație de tip „mulți la mulți” cu mesajele și firele:un singur mesaj poate avea mai multe etichete aplicate și o singură etichetă poate fi aplicată la mai multe mesaje sau fire. Etichetele sunt, de asemenea, de două tipuri:system
și user
. Etichetele de sistem, cum ar fi INBOX
, TRASH
sau SPAM
, sunt create intern și nu pot fi create, șterse sau modificate. Cu toate acestea, unele etichete de sistem, cum ar fi INBOX
, pot fi aplicate sau eliminate din mesaje ș i fire. Etichetele utilizatorului pot fi adăugate, șterse sau modificate de către utilizator sau de către o aplicație.
Drafts reprezintă mesaje neexpediate. Mesajele în sine nu pot fi modificate după ce au fost create, dar mesajul conținut în draft poate fi înlocuit.Trimiterea unui draft șterge automat draftul și creează un mesaj cu eticheta de sistem SENT
.
Historia este o colecție de mesaje modificate recent în ordine cronologică.În timp ce istoria este concepută ca o metodă ușoară de sincronizare a unui client, ea conține, de obicei, doar înregistrări ale modificărilor din ultimele 30 de zile. În unelecazuri, cum ar fi atunci când un client devine prea neactualizat, clientul ar trebui să se sincronizeze manual.
Firurile sunt colecții de mesaje care reprezintă o conversație. Ca și mesajele, firele pot avea și etichete aplicate. Cu toate acestea, spre deosebire de mesaje, firele nu pot fi create, ci doar șterse. Cu toate acestea, mesajele pot fiinserate într-un fir.
Setările controlează modul în care caracteristicile Gmail se comportă pentru un utilizator. Setările sunt disponibile pentru accesul POP și IMAP, redirecționarea e-mailurilor, filtre, răspuns automat la vacanțe, aliasuri de trimitere, semnături, delegați și limbă.
Auth și API-ul Gmail
Ca și alte API-uri REST Google, API-ul Gmail foloseșteOAuth 2.0pentru a gestiona autentificarea și autorizarea. Aplicația dvs. va specifica unul sau mai multerescopuri: șiruri de caractere care identifică resursele pe care trebuie să le acceseze. Aceste domenii sunt utilizate împreună cu un set de token-uri pentru a securiza accesul unui utilizator la resurse.Un domeniu reprezintă o anumită formă de acces la o singură resursă sau la un grup de resurse, de exemplu:
- Citește un mesaj din Gmail (
https://www.googleapis.com/auth/gmail.readonly
) - Modifică etichetele aplicate unui fir de discuție sau mesaj(
https://www.googleapis.com/auth/gmail.modify
) - Întoarce un mesaj în numele unui utilizator(
https://www.googleapis.com/auth/gmail.compose
)
Deși puteți codifica apelurile de autorizare a serviciului web în mod explicit, în mod normal ar trebui să vă simplificați aplicația prin utilizarea bibliotecilor client Google API disponibile pentru multe limbaje de programare.
Pentru mai multe informații despre utilizarea auth cu Gmail API, consultațiAutorizarea aplicației dvs. cu Gmail.
Scopuri
Aplicația Gmail API suportă o serie de scopuri de autorizare cu grad de finețepentru a permite doar nivelul de acces necesar. Prin solicitarea nivelului minim de acces necesar, utilizatorii se simt mai încrezători în acordarea accesului la căsuța lor poștală.
Exemplu de caz de utilizare
Considerați următorul caz de utilizare: tipărirea unei pagini de discuții pentru utilizatorul autentificat în mod curent (de exemplu, într-un panou de mesaje recente).Pentru a realiza acest lucru, aplicația dvs. ar trebui să efectueze următorii pași:
- Autentificați-vă ca utilizator, utilizând domeniul de aplicare
https://www.googleapis.com/auth/gmail.readonly
. - Apelează metoda API.
GET https://www.googleapis.com/gmail/v1/users/<userId>/threads
- Procesează în aplicația ta lista returnată a firelor de discuție.
Pentru un exemplu real de cod, consultați Quickstart pentru limba aleasă de dumneavoastră.
Utilizări comune
Această secțiune oferă o imagine de nivel foarte înalt a modului în care pot fi implementate unele cazuri de utilizare comune. Pentru mai multe detalii, consultați ghidurile dezvoltatorilor.
Întoarcerea mesajelor Gmail
Cele de poștă electronică sunt trimise ca șiruri codificate base64url în cadrul proprietății raw
a unui mesaj. Pentru a crea și a trimite un mesaj:
- Crearea conținutului mesajului de e-mail într-un mod convenabil, care poate depinde de limbajul de programare pe care îl utilizați.
- Crearea unei reprezentări de șiruri codificate base64url a acelui conținut.
- Crearea unei noi resurse de mesaj și setarea proprietății sale
raw
la șirul base64url pe care tocmai l-ați creat. - Apelează
messages.send
pentru a trimite mesajul.
Căutarea mesajelor de poștă electronică primite
Dat fiind ID-ul unui mesaj de poștă electronică, puteți prelua conținutul folosind metodaget
a resursei Users.messages
.
Când preluați un mesaj, puteți specifica formatul încărcăturii utile pentru răspuns.Formatul FULL
(implicit) returnează întregul mesaj analizat în câmpul payload
.Formatul MINIMAL
returnează numai metadatele, cum ar fi identificatorii și etichetele.Formatul RAW
returnează datele sub forma unui șir codificat base64url în cadrul proprietății raw
.
Historia modificărilor de e-mail
Modificările de mesaje sunt reprezentate deHistory objects
. Proprietateastart_history_id
vă permite să stabiliți din ce punct doriți ca modificările să fie returnate. Unele modificări pot afecta mai mult de un mesaj și atunci istoricul care reprezintă acea modificare va conține mai multe mesaje.
Gestionarea etichetelor
Etichetele aplicate unui fir de discuție sunt, de asemenea, aplicate tuturor mesajelor din cadrul firului de discuție.Dacă o etichetă este ștearsă, aceasta este eliminată din toate firele de discuție și mesajele la care a fost aplicată. Proprietatea messageListVisibility
este utilizată pentru a determina dacă mesajele cu această etichetă apar în lista de mesaje. În mod similar, proprietatealabelListVisibility
este utilizată pentru a determina dacă eticheta apare în lista de etichete. Puteți utiliza metodamessages.modify
sauthreads.modify
pentru a modifica etichetele aplicate mesajelor sau, respectiv, firelor.
.
Leave a Reply