1. Введение в Google Apps Script
В этом практическом занятии мы познакомим вас с одним из самых простых способов написания кода, использующего технологии разработчиков Google. Все это делается с помощью JavaScript, распространенного языка веб-разработки. Используя Google Apps Script, вы напишете код для извлечения адреса улицы из ячейки в Google Sheets, генерации карты Google на основе этого адреса, а затем отправки карты в качестве вложения через Gmail. Самое приятное? Это займет всего четыре строки кода.
Что вы узнаете
- Как использовать Google Apps Script с различными сервисами Google, такими как Google Sheets, Google Maps и Gmail.
- Разрабатывайте код, используя встроенный в браузер редактор Apps Script.
Что вам понадобится
- Веб-браузер с доступом в интернет.
- Учетная запись Google (для учетных записей Google Workspace может потребоваться подтверждение администратора).
- Базовые навыки работы с Google Sheets.
- Умение читать обозначения листов формата А1.
2. Опрос
Как вы будете использовать этот практический пример/учебное пособие?
Как бы вы оценили свой опыт использования инструментов разработчика и API Google Workspace?
3. Обзор
Теперь, когда вы знаете, о чём этот практический урок, что именно вы собираетесь делать?
- Узнайте немного о Apps Script, который основан на JavaScript.
- Создайте электронную таблицу Google Sheets.
- Введите адрес улицы в ячейку (A1) в верхнем левом углу электронной таблицы.
- Узнайте, как открыть редактор Apps Script для любого документа.
- Отредактируйте код Apps Script, сохраните его и запустите.
- Для просмотра результата воспользуйтесь Gmail.
Давайте начнём.
Что такое Google Apps Script?
Google Apps Script — это платформа для разработки, которая позволяет быстро и легко создавать скрипты и небольшие приложения, интегрирующиеся с Google Workspace. С помощью Apps Script вы:
- Пишите код на JavaScript и получайте доступ к встроенным библиотекам приложений Google Workspace, таких как Gmail, Calendar, Drive и т. д.
- Ничего устанавливать не нужно — мы предоставляем вам редактор кода прямо в браузере, а ваши скрипты будут запускаться на серверах Google.
- Не нужно беспокоиться о сложных вопросах, таких как безопасность и права доступа к данным, поскольку платформа берет это на себя.
Apps Script можно использовать для создания различных приложений, от чат-ботов до веб-приложений. Одно из самых популярных применений — расширение функциональности электронных таблиц Google Sheets. В оставшейся части этого практического занятия вы узнаете, как использовать Apps Script для извлечения данных из электронной таблицы и их подключения к другим сервисам Google.
4. Создайте таблицу Google Sheets и введите адрес улицы.
В новой таблице Google Sheets введите действительный адрес, следуя этим инструкциям:
- Создайте таблицу Google Sheets, используя эту удобную ссылку ( sheets.google.com/create ). В качестве альтернативы, перейдите в свой Google Диск ( drive.google.com ) и нажмите «Создать » > «Google Sheets» > «Пустая электронная таблица».

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

Это всё, что вам нужно сделать в таблице. Давайте откроем редактор и напишем немного кода.
5. Редактирование кода Apps Script
Теперь, когда у вас есть новая таблица Google Sheets, пришло время отредактировать связанный с ней скрипт. Следуйте этим инструкциям:
Откройте редактор скриптов.
В строке меню выберите «Расширения» > «Apps Script» , чтобы открыть редактор кода Apps Script в браузере.
В новой вкладке браузера редактор кода отображает скрипт по умолчанию , привязанный к контейнеру листа. Автоматически создается функция по умолчанию с именем myFunction() , и курсор помещается внутрь этой функции, чтобы вы могли начать работу.
Отправьте по электронной почте карту Google с указанием адреса.
Предоставленный вам "шаблон" кода пуст, поэтому давайте заменим его кодом нашего приложения.
- В редакторе скриптов замените стандартный блок кода
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]});
}
- Замените адрес электронной почты-заполнитель (
'YOUR_EMAIL_ADDR') на действительный адрес. Например, friend@example.com . - Чтобы сохранить скрипт, нажмите «Сохранить».
.
- Чтобы переименовать проект Apps Script, щелкните «Безымянный проект» , введите название для проекта и нажмите «Переименовать» .
Проверка кода
Давайте рассмотрим 4 строки функции sendMap() , из которых состоит всё приложение. Интересно, что в коде упоминаются 3 разных продукта 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 Sheets, Maps и Gmail.
После того как функция названа и сохранена, пришло время её запустить. В верхней части редактора убедитесь, что sendMap() выбрана из списка функций, и нажмите «Запустить» .
Одна из функций Apps Script, которую ценят разработчики, заключается в том, что им не нужно писать код авторизации, предоставляющий программе доступ к данным пользователя. Хотя Apps Script управляет этим процессом, пользователям вашего приложения все равно необходимо предоставить скрипту разрешение на доступ к их электронным таблицам и отправку электронной почты через Gmail. Первое диалоговое окно авторизации выглядит следующим образом:

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

После предоставления вами разрешения скрипт будет выполнен до конца.
Проверьте почтовый ящик, куда вы отправили сообщение, и вы должны найти письмо с темой "Карта" и сообщением, которое выглядит примерно так:

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

Всего четырьмя строками кода вы получили доступ к трем различным продуктам Google удобным для вас способом.
7. Дополнительные ресурсы
Код, представленный в этом практическом занятии, также доступен в его репозитории GitHub по адресу github.com/googleworkspace/apps-script-intro-codelab . Ниже приведены дополнительные ресурсы, которые помогут вам глубже изучить материал, рассматриваемый в этом практическом занятии, и исследовать другие способы программного доступа к инструментам разработчика Google.
Документация
- Сайт документации Google Apps Script
- Apps Script: Сервис Gmail
- Apps Script: Сервис электронных таблиц
- Apps Script: Картографический сервис
Видео
Новости и обновления
- Блог разработчиков Google Workspace
- Twitter: Google Workspace Developers (@workspacedevs)
Другие семинары по кодированию
Введение
- [Google Sheets] Основы работы с AppScript в Google Sheets
- [REST API] Используйте Google Workspace и Google API для доступа к файлам и папкам в вашем Google Диске.
Средний
- [Apps Script] Дополнения Google Workspace для Gmail
- [Apps Script] Пользовательские боты для чата Hangouts
- [REST API] Используйте Google Таблицы в качестве инструмента для создания отчетов вашего приложения.
- [REST API] Создавайте презентации Google Slides с помощью API BigQuery