Введение в Gmail API
В июне 2014 года Google представила свой первый API для Gmail . Впервые пользователи бесплатных учетных записей Gmail могли программно управлять своими учетными записями Gmail без IMAP .
Используя API, вы можете выполнять многие из тех же операций, которые доступны через пользовательский интерфейс Gmail, например, чтение, создание и отправка сообщений. Он также позволяет вам управлять ярлыками в темах и сообщениях, а также искать и извлекать определенные сообщения и темы.
API основан на REST и может использоваться для доступа к почтовым ящикам Gmail и отправки почты. Он конкретно обеспечивает контроль над:
- Аутентификация
- Сообщения и Черновики
- Этикетки
- Потоки
- История аккаунта
Google предлагает следующие варианты использования API:
- Извлечение, индексация и резервное копирование почты только для чтения
- Управление метками (добавление и удаление меток)
- Автоматическая или программная отправка сообщений
Когда я создавал свое собственное приложение для управления электронной почтой, Simplify Email (подробнее об этом см. В Tuts + в разделе Создание расширенных функций электронной почты с IMAP и PHP ), единственный API электронной почты Google был ограничен для платных подписчиков Служб Google. Итак, я построил все на IMAP. Хотя это позволило обеспечить широкую совместимость с другими поставщиками электронной почты, оно создало некоторые ограничения в отношении производительности и безопасности.
API предоставляет доступ к учетным записям Gmail через OAuth. Это обеспечивает безопасный, отозванный доступ к учетным записям Gmail, который не требует от пользователей обмена своими паролями электронной почты с поставщиками приложений.
С помощью Gmail API вы можете отправлять и получать сообщения, применять метки, находить сообщения с метками и управлять электронной почтой в потоках.
Журнал учетных записей API обеспечивает журнал активности сообщений для приложений, что упрощает мониторинг изменений учетных записей IMAP в режиме реального времени.
Чтобы помочь разработчикам освоиться с API, Google предоставляет краткие руководства по Java, .NET и Python. Также доступны клиентские библиотеки для Java, Javascript, .NET, Objective-C, PHP и Python; Библиотеки Dart, Go, Node.js и Ruby предлагаются на ранней стадии разработки.
В целом, Google Gmail API — это большой шаг вперед.
Потенциал улучшения Gmail
Я был заинтересован в расширении Gmail с тех пор, как в 2010 году я написал « Двенадцать идей Gmail для революционизации электронной почты» (снова) . Большинство желаемых мной идей, таких как «белый список» и «не беспокоить», оставались недосягаемыми без усилий Google или API. Для столь важного приложения, как Gmail, инновации в этих видах расширенных функций были довольно медленными.
Мы тонем в электронной почте, и управление нашими почтовыми ящиками остается тяжелым бременем. Почтовые службы и клиенты сделали очень мало, чтобы помочь нам в этом. Большая часть получаемого нами электронного письма отправляется машинами, а не людьми, и все же мы должны обрабатывать все это индивидуально.
Анализ моей собственной электронной почты показал, что я получаю электронную почту от более чем 230 автоматических отправителей, гораздо меньше реальных людей. Я устал от создания фильтров в Gmail и заполнения множества форм для отказа от подписки. Я хотел больше контролировать свою электронную почту и упростить свою жизнь.
Используя IMAP, я смог создать ряд функций управления электронной почтой, которые я хотел. Результатом было упрощение электронной почты :
И теперь, используя Gmail API, вы можете создавать безопасные, оптимально работающие решения, подобные этим, специально для Gmail.
Кроме того, в октябре 2014 года Google анонсировал Inbox , но он остается только приглашением, и я ждал три месяца.
Стоит отметить, что FastMail ( узнайте больше о них здесь ) является ведущим разработчиком JMAP , конкурентоспособного предложения для проприетарного Gmail API, и который теоретически могли бы добавить другие поставщики IMAP для поддержки.
Если вы хотите узнать больше о JMAP, оставьте комментарий ниже; Я могу написать об этом позже.
Что мы можем сделать с Gmail API?
Давайте пройдемся по основным функциям API Gmail .
Аутентификация
Gmail API использует OAuth 2.0 для обработки аутентификации и авторизации. Существует три области аутентификации, которые можно использовать по отдельности или в комбинации.
- Только чтение, например, чтение сообщения из Gmail
- Изменить, например, изменить метки, примененные к теме или сообщению
- Составлять, например, отправлять сообщения от имени пользователя
Это дает пользователям различные возможности управления взаимодействием приложений с их учетной записью.
Компоненты API
API Gmail предоставляет пять основных типов ресурсов:
Сообщения и метки являются основными единицами почтового ящика. Черновики, история и потоки содержат одно или несколько сообщений с дополнительными метаданными.
Черновики — это неотправленные сообщения. Они не могут быть изменены — только созданы и удалены. Они также могут быть отправлены.
Метки — это то, что мы используем в качестве папок в Gmail. Они помогают с категоризацией и организацией сообщений и тем. Существуют как системные ярлыки, такие как INBOX, TRASH и SPAM, так и пользовательские ярлыки, такие как TRAVEL.
Потоки — это коллекции сообщений, представляющих беседу. Метки могут быть добавлены в темы, а сообщения могут быть добавлены в темы.
История — это коллекция недавно измененных сообщений в хронологическом порядке. Журнал может быть использован для синхронизации приложения или для извлечения действий, предпринятых пользователем в его учетной записи.
Общие сценарии
Отправка сообщений
Вы можете автоматизировать отправку сообщений из учетной записи пользователя, загружая простые и составные сообщения и отправляя их .
Извлечение полученных сообщений
Учитывая идентификатор электронной почты из запроса поиска или истории, вы можете загрузить его содержимое с помощью get message .
Поиск сообщений
Вы можете найти сообщения и темы, которые соответствуют запросам расширенного фильтра Gmail .
Мониторинг изменений в учетной записи
Вы можете получить историю действий аккаунта за последние 30 дней с помощью истории списков . Вы можете использовать это, чтобы частично синхронизировать учетную запись почтового ящика с вашим приложением и даже узнать о пользовательских настройках фильтрации сообщений определенного типа.
Управление этикетками
Вы можете добавлять и удалять ярлыки, применяемые к сообщениям и темам .
Полная синхронизация
Вы можете создать резервную копию всей учетной записи от начала до конца. API позволяет пролистывать сообщения в вашей учетной записи с помощью метода списка сообщений .
Что дальше?
В следующем уроке я начну знакомить вас с использованием Gmail API с вашим приложением на основе PHP.
Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или написать мне напрямую. Следуйте моей странице инструктора Tuts +, чтобы увидеть будущие статьи по Gmail API.