Практический опыт работы со скриптом Google Apps: доступ к Google Таблицам, Картам и Gmail с помощью 4 строк кода!

1. Введение в скрипт Google Apps

В этой лаборатории кода мы познакомим вас с одним из самых простых способов написания кода, который обращается к технологиям разработчиков Google. Все это делается с помощью JavaScript, основного языка веб-разработки. Используя скрипт Google Apps, вы напишете код для извлечения адреса из ячейки в таблице Google, создадите карту Google на основе адреса, а затем отправите карту в виде вложения с помощью Gmail. Лучшая часть? Это будет всего четыре строки кода.

Что вы узнаете

  • Как использовать скрипт Google Apps с различными службами Google, такими как Google Sheets, Google Maps и Gmail.
  • Разрабатывайте код с помощью встроенного в браузер редактора Apps Script.

Что вам понадобится

  • Веб-браузер с доступом в Интернет
  • Учетная запись Google (для учетных записей Google Workspace может потребоваться одобрение администратора).
  • Базовое знание Google Таблиц.
  • Умение читать листы формата А1.

2. Опрос

Как вы будете использовать эту кодовую работу/руководство?

Прочтите только до конца Прочитайте его и выполните упражнения.

Как бы вы оценили свой опыт работы с инструментами и API для разработчиков Google Workspace?

Новичок Средний Опытный

3. Обзор

Теперь, когда вы знаете, о чем эта лаборатория, что именно вы собираетесь делать?

  1. Узнайте немного о Apps Script, основанном на JavaScript.
  2. Создайте таблицу Google Sheets.
  3. Введите адрес в верхнюю левую ячейку таблицы (A1).
  4. Узнайте, как открыть редактор Apps Script для любого документа.
  5. Отредактируйте код Apps Script, сохраните и запустите его.
  6. Используйте Gmail для просмотра результата.

Давайте начнем.

Что такое скрипт Google Apps?

Google Apps Script – это платформа разработки, которая позволяет быстро и легко создавать сценарии и небольшие приложения, интегрируемые с Google Workspace. С помощью Apps Script вы:

  • Напишите код на JavaScript и получите доступ к встроенным библиотекам для приложений Google Workspace, таких как Gmail, Календарь, Диск и т. д.
  • Не нужно ничего устанавливать — мы предоставляем вам редактор кода прямо в вашем браузере, и ваши скрипты запускаются на серверах Google.
  • Не нужно беспокоиться о сложных темах, таких как безопасность и права доступа к данным, поскольку платформа сделает это за вас.

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

4. Создайте Google Таблицу и введите почтовый адрес.

В новой таблице Google введите действительный почтовый адрес, следуя этим инструкциям:

  1. Создайте Google Sheet, используя эту удобную ссылку ( sheets.google.com/create ). Либо перейдите на свой Google Диск ( drive.google.com ) и нажмите «Создать» > «Google Таблицы» > «Пустая таблица».

413a93e5b2f6b3d4.png

  1. В пустой таблице перейдите к первой ячейке в верхнем левом углу (A1). Оно будет в столбце А и строке 1. Если вам нужно заново ознакомиться, вы можете ознакомиться с этим описанием обозначения А1 .
  2. Введите действительный почтовый адрес в ячейку. Выберите адрес в мире с точным местоположением, используя почтовый адрес, почтовый индекс или комбинацию города и штата/провинции. Вот пример адреса в Нью-Йорке:

7077e446455639df.png

Это все, что вам нужно сделать на листе. Давайте откроем редактор и напишем код.

5. Измените код скрипта приложений.

Теперь, когда у вас есть новый Google Sheet, пришло время отредактировать связанный с ним скрипт. Следуйте этим инструкциям:

Откройте редактор скриптов

В строке меню выберите «Расширения» > «Скрипт приложений» , чтобы открыть редактор кода браузера для скриптов приложений.

На новой вкладке браузера редактор кода отображает сценарий , привязанный к контейнеру по умолчанию, для листа. Функция по умолчанию с именем myFunction() создается автоматически, и ваш курсор помещается внутри функции, чтобы вы могли начать работу.

Отправить карту адреса по электронной почте

Код «шаблона», который вам предоставлен, пуст, поэтому давайте заменим его нашим приложением.

  1. В редакторе скриптов замените блок кода myFunction() по умолчанию следующим кодом:
/** @OnlyCurrentDoc */
function sendMap() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var address = sheet.getRange('A1').getValue();
  var map = Maps.newStaticMap().addMarker(address);
  GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
  1. Замените адрес электронной почты заполнителя ( 'YOUR_EMAIL_ADDR' ) действительным. Например, друг@example.com .
  2. Чтобы сохранить сценарий, нажмите «Сохранить». сохранять .
  3. Чтобы переименовать проект Apps Script, нажмите «Проект без названия» , введите название проекта и нажмите « Переименовать» .

Обзор кода

Давайте рассмотрим 4 строки функции sendMap() , составляющие все приложение. Интересно, что код ссылается на три разных продукта Google.

Первая строка — аннотационный комментарий, влияющий на авторизацию:

/** @OnlyCurrentDoc */

Большинство сценариев перед запуском запрашивают у пользователя некоторые разрешения. Эти разрешения контролируют, что пользователь разрешает делать сценарию. Первая строка — это комментарий, содержащий необязательную аннотацию, указывающую Apps Script ограничить доступ к текущей электронной таблице (а не ко всем электронным таблицам пользователя). Всегда рекомендуется включать эту аннотацию, когда вы работаете только с одним файлом.

В коде используется обычное объявление функции JavaScript для sendMap() :

function sendMap() {

Следующая строка вызывает службу электронных таблиц , доступную из Apps Script через объект SpreadsheetApp . Возвращенный лист присваивается одноименной переменной. Метод getActiveSheet() получает ссылку на текущий объект листа и сохраняет ее в переменной sheet .

  var sheet = SpreadsheetApp.getActiveSheet();

С помощью объекта sheet мы ссылаемся на диапазон ячеек (одной ячейки) в нотации A1 с помощью getRange() . «Диапазон» — это группа ячеек, включая одну, например ячейку A1 (ту, в которую мы ввели адрес). Чтобы получить содержимое диапазона, метод getValue() возвращает значение верхней левой ячейки диапазона и присваивает значение переменной address . Вы также можете попробовать добавить больше адресов и читать из разных ячеек.

  var address = sheet.getRange('A1').getValue();

Третья строка кода подключается к службе Google Maps с помощью объекта Maps . newStaticMap() создает объект статической карты, а метод addMarker() добавляет на карту «булавку», используя адрес на листе.

  var map = Maps.newStaticMap().addMarker(address);

Наконец, служба Gmail через объект MailApp вызывает метод sendEmail() для отправки электронного письма, содержащего текст «См. ниже». и изображение карты в качестве вложения.

  GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}

6. Запустите приложения Google Таблицы, Карты и Gmail.

После того как функция названа и сохранена, пришло время запустить функцию. В верхней части редактора убедитесь, что в списке функций выбран sendMap() , и нажмите « Выполнить» .

Разработчики ценят функцию Apps Script за то, что вам не нужно писать код авторизации, который предоставляет программе доступ к данным пользователя. Несмотря на то, что Apps Script управляет этим, пользователям вашего приложения все равно необходимо предоставить скрипту разрешение на доступ к их электронным таблицам и отправку электронной почты через Gmail. Первый диалог авторизации выглядит так:

ba6e1a798e404e0d.png

Нажмите «Просмотреть разрешения» , чтобы продолжить.

Затем вы увидите диалоговое окно OAuth2 с запросом разрешения на доступ к вашему листу и отправку электронной почты от вашего имени:

9bed7ef1ccbd7569.png

После того как вы предоставите разрешение, сценарий завершится.

Проверьте учетную запись электронной почты, куда вы отправили свое сообщение, и вы должны найти электронное письмо с темой «Карта» и сообщение, которое выглядит следующим образом:

51f61fc51a13d28f.png

Когда вы откроете вложение в сообщении электронной почты, вы должны получить карту Google с пин-кодом на адресе, который вы ввели на листе:

739bb45b75e3f7c7.png

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

7. Дополнительные ресурсы

Код, представленный в этой лаборатории кода, также доступен в репозитории GitHub по адресу github.com/googleworkspace/apps-script-intro-codelab . Ниже приведены дополнительные ресурсы, которые помогут вам глубже изучить материал, представленный в этой лаборатории кода, и изучить другие способы программного доступа к инструментам разработчика Google.

Документация

Видео

Новости и обновления

Другие лаборатории разработки

Вводный

Средний

Справочные приложения