Страницы

среда, 5 июня 2013 г.

Как добавить кнопку действий в e-mail сообщение.

Кнопка действий GMail - новая полезняшка от Google, представленная на Google I/O 2013. Позволяет совершить определенные действия в GMail не открывая полученный пользователем e-mail, а также без необходимости перехода по ссылке на ресурс, с которого e-mail был отправлен. Короче - без лишних движений.



 Рассмотрим на примере отправки подобного сообщения с помощью Google Apps Script (вольное изложение мануала на developers.google.com).

Открываем в браузере Google Drive, создаем новый скрипт (или сразу переходим по адресу script.google.com).

Пишем код функции, созданной по-умолчанию (myFunction()) в файле Код.gs (также созданном по-умолчанию при создании скрипта).
function myFunction() {
  // содержание сообщения получаем из HTML-шаблона
  var htmlBody = HtmlService.createHtmlOutputFromFile('template').getContent();

  MailApp.sendEmail({
    to: Session.getActiveUser().getEmail(),
    subject: 'Кнопка действий в GMail - ' + 
      Utilities.formatDate(new Date(),Session.getTimeZone(),"yyyy-MM-dd' 'HH:mm:ss"),
    htmlBody: htmlBody,
  });
}

Добавляем упомянутый в коде HTML-шаблон по имени template: Файл - Создать - HTML-документ.

Пишем код шаблона.
<html>
  <head>
    <script type="application/ld+json">
    {
      "@context":       "http://schema.org",
      "@type":          "EmailMessage",
      "description":    "Check this out",
      "action": {
        "@type": "ViewAction",
        "url":   "https://www.youtube.com/watch?v=eH8KwfdkSqU"
      }
    }
    </script>
  </head>
  <body>
    <p>
      Это тест кнопки действий в GMail.
    </p>
  </body>
</html>

Возвращаемся к файлу Код.gs, для авторизации скрипта выполняем функцию myFunction().

Выполняем функцию myFunction() еще раз, открываем в браузере GMail, проверяем входящие сообщения.

Нажимаем на кнопку действия (в рассмотренном примере - "View") ... и смотрим презентацию на Google I/O 2013 от Claudio Cherubino и Shalini Agarwal.

p.s. Создателям малвари и прочим "романтикам" можно не беспокоиться - все не так просто :).