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

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. Обзор

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

  1. Узнайте немного о Apps Script, который основан на JavaScript.
  2. Создайте электронную таблицу Google Sheets.
  3. Введите адрес улицы в ячейку (A1) в верхнем левом углу электронной таблицы.
  4. Узнайте, как открыть редактор Apps Script для любого документа.
  5. Отредактируйте код Apps Script, сохраните его и запустите.
  6. Для просмотра результата воспользуйтесь 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 введите действительный адрес, следуя этим инструкциям:

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

413a93e5b2f6b3d4.png

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

7077e446455639df.png

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

5. Редактирование кода Apps Script

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

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

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

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

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

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

  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' ) на действительный адрес. Например, friend@example.com .
  2. Чтобы сохранить скрипт, нажмите «Сохранить». сохранять .
  3. Чтобы переименовать проект 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. Первое диалоговое окно авторизации выглядит следующим образом:

ba6e1a798e404e0d.png

Нажмите «Проверить права доступа» , чтобы продолжить.

Далее появится диалоговое окно OAuth2, запрашивающее разрешение на доступ к вашей таблице и отправку электронных писем от вашего имени:

9bed7ef1ccbd7569.png

После предоставления вами разрешения скрипт будет выполнен до конца.

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

51f61fc51a13d28f.png

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

739bb45b75e3f7c7.png

Всего четырьмя строками кода вы получили доступ к трем различным продуктам Google удобным для вас способом.

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

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

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

Видео

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

Другие семинары по кодированию

Введение

Средний

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