Пользователь
57,4
рейтинг
26 июня 2014 в 01:38

Разработка → Gmail API

API*
Компания Google решила открыть для сторонних приложений доступ к содержимому почтовых ящиков Gmail и представила программные интерфейсы Gmail API. По мнению Google, они удобнее и безопаснее, чем протокол IMAP.

Gmail API дают доступ к отдельным ресурсам, таким как Threads, Messages, Labels, Drafts или History. Например, стороннее приложение может запросить доступ только на отправку писем (но не чтение), или только на чтение (но не отправку), или только на изменение меток для писем и цепочек, или только на поиск конкретных писем и цепочек.

Gmail — один из самых популярных почтовых сервисов в мире. Точное количество пользователей неизвестно, но в 2012 году Google оценивала аудиторию в 425 млн человек, при этом отметила, что Gmail является почтовым провайдером для 66 из 100 крупнейших университетов в мире и 5 млн коммерческих компаний.

Это значит, что Gmail сейчас — наверное, вторая платформа по количеству активных пользователей после Facebook, что должно однозначно привлечь разработчиков приложений. Конечно, создавать приложения на базе почтового сервиса кажется странным, но Google хочет поэкспериментировать.

Пользу от сканирования почтового ящика могут получить самые разные приложения. Например, любая программа может автоматически подтверждать email, не вынуждая человека щёлкать по ссылке подтверждения. Достаточно всего лишь сканировать папку «Входящие» на появление соответствующего текста. Или, например, программа учёта расходов может автоматически импортировать из папки «Входящие» чеки с указанием статей расходов и потраченной суммы в интернет-магазинах. Или программа может от имени пользователя высылать письма, в соответствии с заданными условиями.

Кроме того, с помощью Gmail API можно создавать различные расширения для стандартного веб-интерфейса Gmail. Например, кнопку для «заморозки» папки «Входящие» на 30-60 минут или сутки-неделю, когда человек не хочет отвлекаться. Здесь можно придумать массу идей. В том числе можно делать расширения, которые продвигают собственный бренд. Скажем, расширение, которое совершает запрограммированные действия при получении письма с заранее установленным содержанием.

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

Документация API
Клиентские библиотеки Gmail API (.NET, Java, JavaScript (бета), Objective-C, PHP (бета), Python, Go (альфа), Node.js (альфа), Ruby (альфа))
Анатолий Ализар @alizar
карма
751,5
рейтинг 57,4
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (26)

  • –9
    Например, стороннее приложение может запросить доступ только на отправку писем (но не чтение), или только на чтение (но не отправку)
    Какая прелесть, теперь в интернете можно нажать на кнопку и не просто что-то там расшарить или репостнуть себе на стену, а слить весь свой почтовый ящик? Чую особенный спрос на XSS в ближайшее время.

    Например, любая программа может автоматически подтверждать email, не вынуждая человека щёлкать по ссылке подтверждения. Достаточно всего лишь сканировать папку «Входящие» на появление соответствующего текста.
    Кем надо быть, чтобы такое выдумать. Или я что-то неправильно понимаю?
    • 0
      Первый пункт вполне не плох на мой взгляд, а второе это по примеру WhatsUP и других, когда код активации прилетает на устройство, но его не нужно вводить вручную, честно сказать мне это очень не нравится, особенно то что это уже очень распространено.
      • +8
        На устройство не прилетают пароли в открытом виде, а на ящик прилетают.
        На устройство не прилетают ссылки подтверждения удаления аккаунта, а на ящик прилетают.
        А также ссылки смены пароля, подтверждения регистрации, и тд и тп. И если каждый год всплывает какая-нибудь хитрая ссылка, по переходу которой вы автоматически что-то ретвитите, то вот теперь будут ловушки, когда вы автоматически удаляете себе акк, например.
    • +1
      А что, посредством XSS/CSRF на существующие ручки, куда Gmail шлет запросы, этого нельзя сделать было?
      Фактически, к внутренним ручкам просто дописали документацию и SDK.
  • +7
    Ну вообще идея отличная — просто мечта для всяких органайзеров и туду-сервисов. Я джва года ждал такое API.
  • +15
    Можно уже начинать беспокоиться за IMAP?
    • +3
      Сомневаюсь, все-таки IMAP — это базовый протокол почты, наряду с POP и SMTP.
      API скорее нужен, чтобы дать частичный доступ к почте какому-то приложению, и при этом не раскрывать этому приложению свой пароль.
    • –1
      Он и так скорее мёртв чем жив.
      • +3
        Зря минусуют. Gmail не полностью поддерживает IMAP, а часть реализует некорректно. Например удаление письма из входящих через IMAP только удаляет метку «INBOX», не удаляя само письмо.

        Это типичный подход большой корпорации: да, мы знаем что есть международный открытый стандарт, но нам лень его реализовывать и у нас так много пользователей, что мы просто опубликуем своё проприетарное API и все на него пересядут.
        • 0
          Как человек который когда-то заморачивался написанием интеграции IMAP могу утверждать что есть иллюзия что IMAP как стандарт решает всё, кстати команда Opera несколько раз описывали проблемы. В действительности IMAP банально не покрывает очень много вещей.
          А учитывая функционал GMAIL IMAP вообще не очень подходящий стандарт.

          Вам же дают достаточно качественный API который 1 в 1 отображается на объектную модель Gmail. Да проприетарный API, да vendor lock-in но вы еще Майкрософту пожалейтесь что IMAP там такой-же не качественный и нужно EWS исспользовать для сложных вещей.
  • +24
    Пользу от сканирования почтового ящика могут получить самые разные приложения. Например, любая программа может автоматически подтверждать email, не вынуждая человека щёлкать по ссылке подтверждения. Достаточно всего лишь сканировать папку «Входящие» на появление соответствующего текста.

    Что за чушь? Зачем сканировать «Входящие» для подтверждения email’а, если факт получения разрешения к аккаунту посредством API подтверждает email?
    • 0
      Я почему-то сразу о ботах подумал. О всяких регистрациях на сайтах. Многие, кто борется со спамом на сайте, разрешают регистрацию с основных хостеров почты, в том числе и гугла.
    • +2
      К одному аккаунту Gmail может быть привязаны куча других email-аккаунтов. И не обязательно напрямую проверяемых сами Gmail, это могут быть какие-то сторонние перенаправления, мало ли ещё что. Вы указывыаете ящик что-то-там@васяпупкин.рф, а письмо приходит на ваш gmail-аккаунт.
      • 0
        Согласен + отправка писем также возможна от имени других привязанных ящиков.
      • +1
        Может быть привязано куча ящиков, никто не спорит. Ну давайте подумаем тогда вместе. В вашем сценарии пользователю предлагается а) указать адрес, на который будет отправлено письмо, @васяпупкин.рф и б) разрешить через API доступ к google-аккаунту, на который письмо из пункта а будет получено? Чтобы подтвердить регистрацию на сайте? Не too much ли? :)
  • +6
    Хм. Тут как-то видел комментарий-прогноз насчет того что в интересах гугля было бы коммерчески здорово убить традиционную почту, привязав всех к гуглевой же социалке… Началось?
    • +2
      Да, похоже, что корпорация добра восприняла подход embrace and extend — как на протокольном уровне (xmpp -> hangouts), так и на социальном (запихивание пользователей отдельных сервисов в G+).

      В принципе, уже сейчас ведущие провайдеры почты/социалки технически способны сговориться и устроить почтовую олигополию.
  • 0
    Стоит упомянуть об ограничениях
    Судя по ним, что-то полезное создать вряд ли удастся.
    Разве что это лимиты на время тестирования…
  • 0
    Объясните, пожалуйста, а в чём отличие от Google Scripts, который также имеет доступ к почте и может быть разработан сторонней компанией?
    • 0
      Для собственных нужд почти ничем (разве что весь трафик при использовании Google Script будет локальный).
      С API больше возможностей построения многопользовательских сервисов, где нужно что-то сделать по крону от имени пользователя и чаще, чем раз в минуту.
  • +1
    А неплохо. Иногда возникают задачи дать другому человеку частичный доступ к своей почте с каким-то правами, на какое-то время и не очень понятно, как это сделать.
    • 0
      Тут они Microsoft догоняют. В почте MS Exchange делегирование давно было реализовано.
  • 0
    У кого-нибудь получилось подключиться по демкам от дотнетовского клиента? Демка Api.Discovery не компилируется, а демка Api.Gmail совместима только с проектами WindowsPhone.
  • +4
    А можно ли будет в настройках безопасности отключить использовние АПИ или заблокировать для своего ящика? Всетаки безопасность личного ящика очень тонкая штука.
  • +1
    Прграмма, автоматически подтверждающая мыльник наталкивает на мысль: пошути на первое апреля — подпиши друга на все мировые рассылки.
  • 0
    Фактически ничего не изменилось.
    Тот же POP/IMAP, только транспорт поменялся (к нему тоде можно было получить доступ по OAuth).
    Сложность интеграции с Gmail упадёт не сильно (но упадёт).

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