Cercare e filtrare i messaggi

Questo documento spiega come eseguire query e trovare messaggi utilizzando l'API Gmail.

Puoi cercare o filtrare i file utilizzando i metodi messages.list e threads.list. Questi metodi accettano il parametro di query q, che supporta la maggior parte della stessa sintassi di ricerca avanzata dell'interfaccia web di Gmail. Per un elenco delle differenze di ricerca e filtro tra la UI di Gmail e l'API Gmail, consulta Differenze rispetto alla UI di Gmail.

Questa sintassi di ricerca avanzata ti consente di utilizzare le query per filtrare i messaggi in base a proprietà quali mittente, data o etichetta. Ad esempio, la seguente query messages.list del metodo recupera tutti i messaggi inviati dall'utente a gennaio 2014:

GET https://www.googleapis.com/gmail/v1/users/me/messages?q=in:sent after:2014/01/01 before:2014/02/01

Oltre alle query di ricerca, puoi anche filtrare messaggi e thread in base all'etichetta con il parametro labelIds[]. In questo modo puoi cercare messaggi e thread con le etichette di sistema o utente specificate. Per saperne di più, consulta i metodi messages.list e threads.list. Per saperne di più sulle etichette, consulta Gestire le etichette.

Differenze rispetto all'interfaccia utente di Gmail

Sebbene l'API Gmail supporti la maggior parte della sintassi di ricerca avanzata utilizzata nell'interfaccia utente di Gmail, esistono alcune differenze:

  • L'interfaccia utente di Gmail esegue l'espansione degli alias, che consente di dedurre un alias dell'account da un account Google Workspace. Ad esempio, supponiamo che tu abbia un account myprimary@cymbalgroup.com e che il tuo amministratore configuri un alias per quell'account myalias@cymbalgroup.com. Se myalias@cymbalgroup.com invia un'email, ma cerchi "from: myprimary@cymbalgroup.com", l'email inviata da myalias@cymbalgroup.com viene visualizzata nei risultati di ricerca nell'interfaccia utente di Gmail, ma non nella risposta dell'API.

  • L'interfaccia utente di Gmail consente agli utenti di eseguire ricerche a livello di thread, ma l'API no.