本文說明如何使用 Gmail API 查詢及尋找郵件。
您可以使用 messages.list 和 threads.list 方法搜尋或篩選檔案。這些方法會接受 q 查詢參數,該參數支援大部分與 Gmail 網頁介面相同的進階搜尋語法。如要查看 Gmail 使用者介面和 Gmail API 之間的搜尋和篩選差異清單,請參閱「與 Gmail 使用者介面的差異」。
您可以使用這項進階搜尋語法,依寄件者、日期或標籤等屬性篩選郵件。舉例來說,下列 messages.list 方法查詢會擷取使用者在 2014 年 1 月傳送的所有訊息:
GET https://www.googleapis.com/gmail/v1/users/me/messages?q=in:sent after:2014/01/01 before:2014/02/01
除了搜尋查詢外,您也可以使用 labelIds[] 參數,依標籤篩選郵件和討論串。這樣一來,您就能搜尋套用指定系統或使用者標籤的郵件和郵件串。詳情請參閱 messages.list 和 threads.list 方法。如要進一步瞭解標籤,請參閱管理標籤。
與 Gmail 使用者介面的差異
雖然 Gmail API 支援 Gmail UI 使用的大部分進階搜尋語法,但仍有幾項差異:
Gmail 使用者介面會執行別名擴展,從 Google Workspace 帳戶推斷帳戶別名。舉例來說,假設您有一個帳戶
myprimary@cymbalgroup.com,而管理員為該帳戶設定別名myalias@cymbalgroup.com。如果myalias@cymbalgroup.com傳送電子郵件,但您搜尋「from: myprimary@cymbalgroup.com」,則myalias@cymbalgroup.com傳送的電子郵件會顯示在 Gmail UI 的搜尋結果中,但不會顯示在 API 回應中。使用者可以透過 Gmail UI 搜尋整個郵件串,但 API 不支援這項功能。