Вопрос
Нам интересно, нашел ли кто-нибудь обходной путь для фильтрации электронных писем при использовании области только для метаданных, за исключением того, чтобы прикусить пулю и запросить полную область чтения для учетных записей пользователей Gmail.
Проблема
Использование области только для метаданных, что лишает нас возможности применять фильтры при составлении списка электронных писем (Users.messages.list
конечная точка), увеличивая в 10-100 раз количество вызовов, которые мы должны сделать в API Gmail.
Фон
Из соображений конфиденциальности мы ограничиваем доступ к нашему приложению до минимума. Мы сталкиваемся с проблемой, когда один из наших клиентов получает много автоматических внутренних электронных писем, в размере 5k + / день / пользователь. Обычно мы просто отфильтровываем этого автоматического отправителя, используя параметр q=
в вызовах к Users.messages.list
, а затем получаем только оставшиеся электронные письма, но q=
не поддерживается с областью метаданных, даже для частей электронной почты, которые доступны в метаданных, таких как отправитель.
Прямо сейчас наш подход:
перечислять все 5-7 тыс. Электронных писем для пользователя каждый день (Users.messages.list
)
делает 5-7 тыс. Запросов, по одному на каждое письмо, к конечной точке Users.messages.get
(мы используем пакетирование, но применяется тот же дух)
отбрасывать те электронные письма, в которых указан отправитель, который нам не нужен
повтор для каждого пользователя (100 +)
Это, естественно, кажется неэффективным.