Я создаю приложение, которое использует Gmail API для получения фильтров пользователя, а затем использует Filter.Criteria
для поиска электронных писем, которые будут сопоставлены фильтром.
например, Фильтр [ссылка] :
{
id: 'id',
criteria: {from:'foo@bar.baz', subject:'whatever', ...},
actions: {...},
}
Однако метод API user.messages.list
может фильтровать только с параметром q
, который представляет собой строку, похожую на то, что вы вводите в поле поиска gmail, используя следующие операторы:https://support.google.com/mail/answer/7190?hl=en
например, строка запроса:
from:(foo@bar.baz) subject:(whatever)
Моя проблема в том, что я должен преобразовать Filter
в строку, которую можно использовать для q
, но этоне совсем просто, потому что есть некоторые особые случаи, которые я должен найти методом проб и ошибок.
Я хотел бы знать, есть ли канонический способ сделать это или я должен осуществить преобразование самостоятельно.