В этом документе объясняется, как запрашивать и находить сообщения с помощью API Gmail.
Вы можете искать или фильтровать файлы, используя методы messages.list и threads.list . Эти методы принимают параметр запроса q , который поддерживает большую часть синтаксиса расширенного поиска, как и веб-интерфейс Gmail. Список различий в поиске и фильтрации между пользовательским интерфейсом Gmail и API Gmail см. в разделе «Отличия от пользовательского интерфейса Gmail» .
Расширенный синтаксис поиска позволяет использовать запросы для фильтрации сообщений по таким свойствам, как отправитель, дата или метка. Например, следующий запрос с использованием метода messages.list извлекает все сообщения, отправленные пользователем в январе 2014 года:
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
Хотя API Gmail поддерживает большую часть расширенного синтаксиса поиска, используемого в пользовательском интерфейсе Gmail, есть несколько отличий:
Пользовательский интерфейс Gmail выполняет расширение псевдонимов , что позволяет ему определять псевдоним учетной записи на основе учетной записи Google Workspace. Например, предположим, у вас есть учетная запись
myprimary@cymbalgroup.com, и ваш администратор создает для этой учетной записи псевдонимmyalias@cymbalgroup.com. Еслиmyalias@cymbalgroup.comотправляет электронное письмо, но вы ищете "from: myprimary@cymbalgroup.com", то письмо, отправленноеmyalias@cymbalgroup.com, отображается в результатах поиска в пользовательском интерфейсе Gmail, но не в ответе API.Пользовательский интерфейс Gmail позволяет выполнять поиск по всей ветке обсуждения, но API такой возможности не предоставляет.