Статьи

Введение в 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 с тех пор, как в 2010 году я написал « Двенадцать идей Gmail для революционизации электронной почты» (снова) . Большинство желаемых мной идей, таких как «белый список» и «не беспокоить», оставались недосягаемыми без усилий Google или API. Для столь важного приложения, как Gmail, инновации в этих видах расширенных функций были довольно медленными.

Мы тонем в электронной почте, и управление нашими почтовыми ящиками остается тяжелым бременем. Почтовые службы и клиенты сделали очень мало, чтобы помочь нам в этом. Большая часть получаемого нами электронного письма отправляется машинами, а не людьми, и все же мы должны обрабатывать все это индивидуально.

Анализ моей собственной электронной почты показал, что я получаю электронную почту от более чем 230 автоматических отправителей, гораздо меньше реальных людей. Я устал от создания фильтров в Gmail и заполнения множества форм для отказа от подписки. Я хотел больше контролировать свою электронную почту и упростить свою жизнь.

Используя IMAP, я смог создать ряд функций управления электронной почтой, которые я хотел. Результатом было упрощение электронной почты :

И теперь, используя Gmail API, вы можете создавать безопасные, оптимально работающие решения, подобные этим, специально для Gmail.

Кроме того, в октябре 2014 года Google анонсировал Inbox , но он остается только приглашением, и я ждал три месяца.

Стоит отметить, что FastMail ( узнайте больше о них здесь ) является ведущим разработчиком JMAP , конкурентоспособного предложения для проприетарного Gmail API, и который теоретически могли бы добавить другие поставщики IMAP для поддержки.

Если вы хотите узнать больше о JMAP, оставьте комментарий ниже; Я могу написать об этом позже.

Давайте пройдемся по основным функциям API Gmail .

Gmail API использует OAuth 2.0 для обработки аутентификации и авторизации. Существует три области аутентификации, которые можно использовать по отдельности или в комбинации.

  • Только чтение, например, чтение сообщения из Gmail
  • Изменить, например, изменить метки, примененные к теме или сообщению
  • Составлять, например, отправлять сообщения от имени пользователя

Это дает пользователям различные возможности управления взаимодействием приложений с их учетной записью.

API Gmail предоставляет пять основных типов ресурсов:

Сообщения и метки являются основными единицами почтового ящика. Черновики, история и потоки содержат одно или несколько сообщений с дополнительными метаданными.

Черновики — это неотправленные сообщения. Они не могут быть изменены — только созданы и удалены. Они также могут быть отправлены.

Метки — это то, что мы используем в качестве папок в Gmail. Они помогают с категоризацией и организацией сообщений и тем. Существуют как системные ярлыки, такие как INBOX, TRASH и SPAM, так и пользовательские ярлыки, такие как TRAVEL.

Потоки — это коллекции сообщений, представляющих беседу. Метки могут быть добавлены в темы, а сообщения могут быть добавлены в темы.

История — это коллекция недавно измененных сообщений в хронологическом порядке. Журнал может быть использован для синхронизации приложения или для извлечения действий, предпринятых пользователем в его учетной записи.

Вы можете автоматизировать отправку сообщений из учетной записи пользователя, загружая простые и составные сообщения и отправляя их .

Учитывая идентификатор электронной почты из запроса поиска или истории, вы можете загрузить его содержимое с помощью get message .

Вы можете найти сообщения и темы, которые соответствуют запросам расширенного фильтра Gmail .

Вы можете получить историю действий аккаунта за последние 30 дней с помощью истории списков . Вы можете использовать это, чтобы частично синхронизировать учетную запись почтового ящика с вашим приложением и даже узнать о пользовательских настройках фильтрации сообщений определенного типа.

Вы можете добавлять и удалять ярлыки, применяемые к сообщениям и темам .

Вы можете создать резервную копию всей учетной записи от начала до конца. API позволяет пролистывать сообщения в вашей учетной записи с помощью метода списка сообщений .

В следующем уроке я начну знакомить вас с использованием Gmail API с вашим приложением на основе PHP.

Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или написать мне напрямую. Следуйте моей странице инструктора Tuts +, чтобы увидеть будущие статьи по Gmail API.