Боты и автоматизация

Учебник Google Apps Script для начинающих

15 уроков · 5 разделов · бесплатно, без регистрации

Автоматизация Google-таблиц скриптами: рассылки, отчёты, интеграции и триггеры — прямо в облаке, без своего сервера.

Курс «Google Apps Script: автоматизация Google-таблиц» состоит из 5 разделов и 15 уроков: Начало работы, Работа с данными, Триггеры и автоматизация, Интеграции и Эксплуатация. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Начало работы

    1. Что такое Apps Script и зачем он

      Что такое Google Apps Script: JavaScript на серверах Google с доступом к таблицам, почте и диску. Отличия от VBA, сервисы, триггеры и бесплатные квоты.

    2. Редактор и первый скрипт

      Редактор Apps Script: Расширения → Apps Script, привязанный скрипт против отдельного проекта, первая функция, Logger.log, запуск и разрешения OAuth.

    3. SpreadsheetApp: читаем и пишем

      SpreadsheetApp на практике: getActiveSpreadsheet, getSheetByName, getRange, чтение и запись значений и главное правило скорости — работать диапазоном.

  2. 2 Работа с данными

    1. Диапазоны и массивы

      getValues() возвращает двумерный массив, setValues() требует совпадения размеров. Разбираем обход строк и путаницу индексов: массив с 0, лист с 1.

    2. Фильтрация, сортировка, вычисления

      Почему цикл с getValue() работает минуту, а map/filter/reduce в памяти — полсекунды. Обработка данных Apps Script в массиве и запись результата одним setValues().

    3. Форматирование и оформление листа

      Как из Apps Script создать лист, оформить шапку, задать числовые форматы, границы и цвета, навесить условное форматирование — и не сломать скорость.

  3. 3 Триггеры и автоматизация

    1. Простые триггеры: onOpen и onEdit

      Простые триггеры Apps Script: своё меню в таблице через onOpen, реакция на правку ячейки через onEdit, объект события e и жёсткие ограничения простых триггеров.

    2. Устанавливаемые триггеры

      Устанавливаемые триггеры Apps Script: запуск по времени (каждый день в 9:00), по отправке формы и по правке; создание кодом и мышкой, лимиты выполнения.

    3. Google Forms → таблица → действие

      Связка Google Forms и Apps Script: триггер onFormSubmit, объект события namedValues, письмо клиенту и менеджеру, статус-колонка и защита от повторов.

  4. 4 Интеграции

    1. Отправка писем через Gmail

      MailApp и GmailApp в Google Apps Script: чем отличаются, как сделать рассылку по строкам таблицы (mail merge), добавить вложения и не упереться в суточные лимиты.

    2. Работа с Google Drive

      DriveApp в Apps Script: создание файлов и папок, поиск, экспорт листа таблицы в PDF, раздача доступа и автоматическая архивация отчётов по папкам год/месяц.

    3. Вызов внешних API (UrlFetchApp)

      UrlFetchApp в Google Apps Script: GET и POST, заголовки и токены, разбор JSON, подтягивание курса валют в таблицу, muteHttpExceptions и ретраи при ошибках сети.

  5. 5 Эксплуатация

    1. Веб-приложение из скрипта

      doGet и doPost в Google Apps Script: HTML-форма и JSON-эндпоинт поверх таблицы, публикация web app, «Выполнять как» и «У кого есть доступ».

    2. Квоты, лимиты и таймауты

      Шесть минут на выполнение, лимиты писем и вызовов в Apps Script: как разбить долгую задачу на порции, продолжить триггером и хранить курсор в PropertiesService.

    3. Отладка и надёжность

      Logger и console в Apps Script, точки останова, журнал выполнений, try/catch с письмом об ошибке себе на почту, повторные попытки, версии и откат развёртывания.