Что такое google apps script
Apps Script
Оптимизируйте свою работу
Легкая и быстрая разработка
С помощью Apps Script бизнес-пользователи могут быстро создавать собственные решения для выполнения повседневных рабочих задач, не обращаясь к профессиональным разработчикам программного обеспечения.
Повышение производительности
Apps Script позволяет сфокусироваться на самых важных задачах, открывая пользователям максимум возможностей Google Workspace за счет автоматизации длительных и рутинных операций. Интеграционные решения связывают между собой повседневно используемые приложения, расширяя по мере необходимости их функционал и степень персонализации.
Популярные языки веб-разработки
Apps Script позволяет использовать для разработки HTML, CSS и JavaScript, не требуя изучения нового проприетарного фреймворка.
Разработано для Google
Платформа Apps Script уже готова для начала разработки. Предварительно интегрированные API Google Workspace, а также оригинальная интеграция в более 100 сервисов Google, таких как YouTube, Google Аналитика и BigQuery, существенно упрощают доступ ко всем преимуществам, которые Google предлагает пользователям.
Примеры решений
Формирование писем для рассылки с помощью Gmail и Таблиц
Используйте Gmail и Таблицы для создания привлекательных писем и их рассылки. Полное решение.
Регистрация на сеансы в рамках мероприятия
За счет интеграции Таблиц, Документов, Форм и почты Gmail это решение позволяет участникам мероприятия регистрироваться на сеансы, а затем создает и рассылает им по электронной почте персональные графики участия. Полное решение.
Анализ мнений из отзывов
Анализируйте объемные текстовые данные, например отзывы, выполняя распознавание названий и анализ тональности текста с помощью технологии Cloud Natural Language прямо в Таблицах. Полное решение.
Основные вопросы об Apps Script
Нужно ли платить за Google Workspace, чтобы получить возможность использовать Apps Script?
Нет. Чтобы начать разработку на платформе Apps Script, нужен лишь аккаунт Gmail.
С чего начать работу с Apps Script?
Где получить поддержку?
Возникающие в процессе работы вопросы вы можете обсуждать на тематических ресурсах: в онлайн-сообществе Apps Script компании Google и на форуме Stack Overflow.
Чем полезен Google Apps Script. Настрой рассылку, сверстай журнал и не только
Google Apps Script — диалект JavaScript для создания автоматизирующих скриптов и расширений для сервисов Google. Появился он в 2009 году и с тех пор стремительно развивается и набирает популярность. Ведь этот язык — уникальное средство автоматизации, которое доступно для использования и может быть полезно практически каждому человеку.
Для меня Google Apps Script — быстрые деньги, секретный трюк таймменджмента и одно из немногих развлечений, ради которых я готова бесплатно сидеть за компом.
В англоязычном интернет пространстве он довольно популярен: 12266 вопросов на StackOverlow. Но в России абсолютное большинство людей не знает о существовании GAS, либо их знания крайне поверхностны. На Хабре всего лишь 13 очень узкоспециальных публикаций с тегом Google Apps Script, а на русскоязычном StackOverflow только 23 вопроса по этой теме.
Я считаю, что это неправильно и ситуацию надо исправлять. Каждый человек должен иметь общее представление о возможностях Google Apps Script и быть морально готовым его использовать. Очень многим людям Google Apps Script может быть полезен. Если не в данный момент, то в обозримом будущем.
Эта статья расскажет вам о том, на что способен Google Apps Script. Надеюсь, что после ее прочтения вы осознаете магическую мощь этого языка и, если не начнете пользоваться им (большинству он нужен n-раз в год, не более), то хотя бы при случае порекомендуете своим знакомым.
С какими сервисами работает Google Apps Script?
На данный момент у языка есть классы и методы для работы со следующими сервисами (для каждого в скобках даны несколько из возможных примеров использования):
Один автоматизирующий скрипт может работать сразу с несколькими сервисами. К примеру, в случае приближения нужного события в календаре делать групповую рассылку по списку из таблицы. Или генерировать и переводить отчеты на основе данных из форм. Возможны тысячи комбинаций.
Это совсем не сложно
В комментариях иногда пишут: «Я не хочу пользоваться Google Apps Script, так как не хочу заморачиваться с программированием». Но чтобы создавать автоматизации с помощью этого инструмента, практически не требуется умственного напряжения.
Нужно только понимать на абстрактном уровне что означают понятия: условный оператор, цикл, массив, функция, метод, объект, свойство объекта и знать английский язык/уметь пользоваться переводчиком, чтобы читать документацию, так как в ней есть множество готовых примеров кода.
И полезно владельцам iPhone
«Офтоп, опять офтоп» — думает кто-то из читателей. Но тема Google Apps Script очень актуальна для пользователей iOS-устройств. Во-первых, у Google есть множество полезных приложений для iPhone/iPad, которые основаны на сервисах, поддерживающих GAS:
А во-вторых, можно настроить запуск автоматизаций для сервисов Google после выполнения определенных действий на iPhone: создания фотографии или контакта, изменения местоположения, включения страницы в список для чтения. Это возможно благодаря рецептам IFTTT.
IFTTT
C помощью mush-up сервиса IFTTT (IF This Than That) можно настраивать выполнение какого-либо действия (отправка письма, размещения поста в Facebook, создание записи в таблице Google) или в случае проишествия какого-либо события (изменения погоды, достижения какой-либо цели в Fitbit, добавление новости в Pocket). Перед Новым годом на iPhones.ru о нем вышла статья 40 рецептов IFTTT для гаджетов.
IFTTT помогает подружить сервисы Google (внося записи об определенных действиях на диск) с iPhone, Android, термостатом Nest, лампочкой Lifx, кондиционером, «умной» копилкой, фитнесс-браслетом и десятками других гаджетов. А также с социальными сетями, платформами для ведения блогов, rss-каналами, облачным хранилищем и еще кучей других сервисов.
Для людей с фантазией это открывает огромный простор для творчества и улучшения своей жизни.
Триггеры и расписание
Если вы не читали предыдущие статьи про Google Apps Script, то у вас может возникнуть вопрос: каким образом новый файл на диске/строка в электронной таблице, которую добавляет IFTTT, может послужить толчком к выполнению автоматизации?
Или при совершении следующих событий:
Скрипты можно запускать не только непосредственно из редактора, но и создавать для их запуска меню, который будут появляться при открытии документа в дополнение к основному интерфейсу. Вот небольшой пример кода, который показывает как это сделать:
[jscript]
// Устанавливаем триггер «при открытии документа»
function onOpen() <
// Создаем меню
var ui = SpreadsheetApp.getUi();
ui.createMenu(‘Пример меню’)
// Добавляем в него пункт
.addItem(‘Пункт меню’, ‘menuItem1’)
.addSeparator()
// Создаем подменю и добавляем в него пункт
.addSubMenu(ui.createMenu(‘Подменю’)
.addItem(‘Пункт подменю’, ‘menuItem2’))
.addToUi();
>
// Описываем функцию, которая будет запускаться при клике на пункт основного меню
function menuItem1() <
SpreadsheetApp.getUi()
.alert(‘Вы нажали на пункт меню’);
>
// Описываем функцию, которая будет запускать при клике на пункт подменю
function menuItem2() <
SpreadsheetApp.getUi()
.alert(‘Вы нажали на пункт подменю’);
>
[/jscript]
Веб-приложения
Еще с помощью Google Apps Script можно создавать полноценные веб-приложения с графическим интерфейсов на HTML/встраивать Google Apps Script на свои сайты. Простейшие пример: сделать на сайте форму загрузки файлов с компьютера на Google Drive или дашборд для мониторинга числа ответов на форму.
Парсинг сайтов и REST API
Еще на GAS можно делать http-запросы и обрабатывать их результаты. С помощью класса UrlFetchApp можно извлекать данные с веб-страниц и парсить XML/JSON ответы REST API сервисов.
К примеру, у нас на iPhones.ru есть программа, которая на входе получает список ссылок на AppStore из таблицы, а на выходе выдает блоки кода с информацией о приложениях и ссылками на иконки (картинки сохраняются на Google Диск под специальными названиями) и потом оттуда загружаются в админку WordPress.
Для чего я сама использую Google Apps Script
Когда я работала в ][, то у нас была старая тормознутая система для сведения бумажного номера, написанная на Delphi в лохматом году. Чтобы было удобнее, я сделала аналог в Google Документе. На GAS написаны функции для окраски строк в зависимости от этапа, на котором находится материал, нумерации страниц, подсчета незаполненных полос и генерации отчета о количестве материалов, которые находятся на каждом этапе (почти два десятка функций). Пожалуй, это самый масштабный пример личного использования GAS.
Если мне нужно спарсить несколько веб-страниц (не 2000, а 10-100), то я создаю Google Таблицу и открываю редактор скриптов. Это гораздо более быстрый и комфортный способ (для небольших объемов), чем использование curl (прежде всего из-за наглядности). Очень удобно, когда результаты парсинга можно сразу посмотреть в таблице и обернуть их в html-код. Чуть выше я приводила пример, как это может пригодиться автором статей про iOS-приложения.
И еще я регулярно использую GAS для создания групповых рассылок. Написать пару строк кода легче (это занимает минуту), чем отправить 30-40 писем (не говоря уже о больше объеме), настройке автоответов и отложенный отправки писем по условию.
Но гораздо больше пользы с помощью Goole Apps Script я принесла не самой себе, а заказчикам скриптов (владельцам очень малого бизнеса), которым они были нужны, чаще всего, для обработки данных в таблицах или автоматизации продаж/оповещений клиентов.
Google Apps Script — С чего начать изучение?
Главная » Блог » Google Apps Script — С чего начать изучение?
А вы слыхали про гугл скрипты (Apps Script)? Нет?
Ну, как же так получилось? Ай-яй-яй!
Такая полезная вещь, а о ней в курсе лишь узкий круг специалистов. А зря!
Такая ситуация сложилась в русскоязычном сообществе, в англоязычном же интернет пространстве он довольно популярен (что видно из графиков ниже).
А потому, что это прекрасный инструмент для малого и среднего бизнеса, который позволяет без лишних затрат оптимизировать документооборот и наладить автоматическую работу жизненно важных процессов предприятия.
Та что там бизнес, каждый оценит по достоинству возможности этого сервиса, ведь способов применения просто бездна!
Стоит немного вникнуть в кухню сервисов гугл, как, прям таки, перехватывает дыхание от открывающихся перспектив!
Но не будем забегать вперед.
Для начала необходимо разобраться что это такое и что с этим делать.
Google Apps script — что это?
Давным давно (с 2009 года) великий гугл выпустил полезную фичу — Google Apps script.
Этот сервис дает возможность автоматизировать работу сервисов гугл. Самый близкий аналог — это офисный пакет Microsoft Office со своими макросами на VBA (Visual Basic for Applications) и его аналоги Libre Office, SoftMaker Office и т.п.
Конечно, не совсем корректно сравнивать сравнвать GAS и VBA.
Вот что об этом говорит один из ведущих специалистов по сервисам google в русскоязычном интернете, Александр Иванов.
Единственное, что их объединяет, это идея расширения возможностей табличного процессора за счет дополнительного программного кода. …
Консультант по Google Apps Script
Ознакомится с более подробным сравнением, которое Александр любезно составил специально для нас с вами, можно по этой ссылке.
Конечно, у многих, кто пытался с ходу освоить использование макросов могли остаться не слишком приятные воспоминания, однако не стоит сразу морщиться!
Gooogle Apps script — куда более дружелюбно настроенный к пользователю язык, чем может показаться на первый взгляд.
Фактически это язык сценариев на базе JavaScript (стандарта ECMAScript 5), придуманный специально для того чтобы существенно упростить разработку приложений на основе Google Apps.
Для тех, кто в танке, напоминаю, что Google Apps (кстати, пакет недавно переименовали в G Suit) — это интернет-сервисы разработанные транснациональной корпорацией и с которыми в той или иной степени знаком каждый.
Сервисы гугл
(которые мы будем рассматирвать, писать для них сценарии на gas):
и многие другие, список приложений постоянно растет (тут можно посмотреть весь список продуктов google).
Так вот, основные преимущества работы с гугл скриптами — это выполнение кода не на клиенте (т.е. непосредственно не на вашем рабочем компьютере), а в облаке Google.
Что дарит возможность создания автономных сценариев, для работы которых не требуется вмешательство пользователя (очень крутая фишка!).
Кроме того, для начала работы не требуется ничего устанавливать, Google уже обо всем позаботился.
Есть готовый редактор со всем необходимым функционалом (фото ниже).
К плюсам также можно причислить
Первый шаг — создание скрипта
Не будем ходить вокруг, да около… Напишем свой первый скрипт прямо сейчас.
Создание скрипта через панель инструментов Script Script
Для начала зайдите в свой аккаунт Google (напомним, что для доступа ко всем сервисам требуется только один аккаунт, который заводится вместе с гугловской почтой), а затем переходим по следующей ссылке script.google.com и попадаем на вот такую страницу (панель инструментов Script Script):
В левом боковом меню, кликните на кнопку + Создать скрипт.
Перед вами окно редактора гугл скриптов:
К слову, это не единственный способ его запуска.
Можно пойти и другим путем.
Создание скрипта через Google Диск
Клацаем на кнопочку Создать, выпадет список с вариантами, тут выбираем Еще и жмем на Подключить другие приложения.
В окошке подключений, в поиске, вводим Google Apps script клацаем Подключить и… вуаля!
В окне Приложение Google Apps Script добавлено на Google Диск., устанавливаем птицу напротив Выбрать Google Apps Script приложеним по умочанию для файлов, которые открываются с его помощью. и жмем на ок
Теперь в списке ваших возможностей появился новый сервис и мы можем приступать непосредственно к коду.
Создание скрипта через файл-контейнер
Кроме того существует еще один способ создать файл для сценария.
Это создание файла-сценария внутри файла-контейнера (например внутри таблицы, документа, слайда или формы, условно внутри).
Но этот способ мы разберем в следующих статьях.
Первый скрипт
Создаем свой первый скрипт.
Можно, конечно, сходить вот по этой ссылочке тыц и внимательно почитать что пишут знающие люди, или…
Не ходить, а просто отдаться в руки автора (т.е. в мои)) ) и читать дальше…
Тем, кто никогда не пробовал свои силы в программировании, наверняка, “лаконичное” окно редактора покажется совершенно загадочным и возможно некоторым даже захочется сбежать с криками: “Меня обманули, говорили, что это просто. ”
Не спешите смазывать лыжи! Это действительно просто, если, конечно, знать что делать.
Так уж повелось, еще на заре цифровых технологий, первым тестовым сообщением, которое выводит свеженаписанная программа это: “Привет мир!”.
Для начала меняем название функции с myFunction на firstTest.
Далее пишем вот такую аБрА-КадабРу :
Давайте распишем тот же пример более подробно и разберем каждую строку
Строка 1. Директива function создает новую функцию, далее указываем ее название firstTest.
Затем в круглых скобках () указываем параметры которые хотим передать в функцию (в нашем случае мы ничего не указываем, так как ничего не передаем).
А в фигурных скобках <> указывается код который выполняется когда эта функция будт вызвана.
Если поставить два слеша //, то код после них и до конца строки выполнятся не будет.
Это называется комментарий.
К слову, комментарий еще можно указать так /* */, любой текст заключенный внутри будет считатся комментарием, независимо от начала и/или конца строк(и).
Строки 2-4. Объявляем переменные с помощью директивы var.
(коды языков можно подсмотреть здесь)
Строки 6-10. Обращаемся к объекту LanguageApp, а точнее к методу этого объекта translate, который принимает три параметра (их мы уже описали выше в строках 2-4).
Если некоторые термины вам непонятны и/или у вас нет базовых знаний JavaScript или другого языка, не расстраивайтесь!
В конце статьи я дам ссылку на простой учебник по JS.
Результат
Результатом работы этого метода будет — переведенный текст, который, в нашем случае, записывается в переменную text (то есть перезаписываем старое значение на новое).
Строка 12. Logger.log( text ) — это вывод нашего текста в журнал, где потом мы и будем его смотреть.
К слову, данный способ ( Logger.log(); ) в будущем не раз пригодится для отладки ваших сценариев, т.е. поиска и устранения ошибок, закравшихся в ваш сценарий.
Строка 14. Необязательная директива return — возвращает данные, указанные поле нее (мы ничего не указали, а это значит что по умолчанию возвратится false, с таким же успехом данную директиву можно было не указывать).
Продолжим, наша программа написана, теперь сохраним ее нажав на эту кнопку (иконка дискеты)
К вам тут же выскочит окошко.
В нем вводим название проекта в поле Укажите новое название проекта, пусть будет Привет мир!. Затем жмем на кнопку ok
Теперь запустим ее, сначала выбрав нужную функцию а затем нажав на вот тут (иконка треугольник)
И наконец, идем во вкладку Вид > Журналы или просто нажимаем Ctrl+Enter (горячии клавиши полезная штука).
И вот результат наших стараний…
Синим подчеркнута информация, сообщающая когда была сделана запись,
а красным наше содержимое переменной text.
Да, да — Salamu, Dunia! И есть перевод знаменитого Hello World на суахили.
Овации! Чувствуете гордость? Совершенно заслуженно.
Мы с вами сделали первый шаг к освоению замечательного инструмента.
Согласитесь, без ложной скромности, что это было не так уж и сложно.
Остались вопросы?
Вы всегда можете задать их в комментариях к данному посту.
Да и поэкспериментируйте с кодом, а потом покажите нам его в комментариях.
Итоги
А теперь, коротко, подведем итоги:
Надеюсь мне удалось донести мысль, что Google Apps Script удивительно полезный инструмент, на изучение которого стоит потратить время.
В следующей статье рассмотрим подробнее возможности и функционал редактора.
То бишь, все эти кнопочки, вкладочки и т.п.
Сделав первый шаг к цели, не стоит останавливаться. Как гласит древняя мудрость:
Пишем скрипты для автоматизации работы с приложениями Google
Содержание статьи
Google Apps Script — это язык для автоматизации работы с онлайн-приложениями, появившийся в 2009 году. Его основа — классический JavaScript, обогащенный расширениями для работы с сервисами Google. После прочтения этой статьи ты овладеешь основами использования этого языка, выучишь пару приемов манипуляции с почтой и документами, а также получишь представление о необозримых возможностях Google Apps Script.
Основы использования
Хакер #187. Обходим Blizzard Warden
Теперь в нашем меню есть пункт под названием ExampleFunc, при клике на который открывается однострочное подменю «Моя единственная функция».
Декларированные функции можно использовать в формулах, которые вводятся внутрь ячеек электронных таблиц (см. рис. 3). Теперь перейдем к более практически полезным примерам.
Рис. 2. Редактор кода, заполненный автогенерируемым сырьевым материалом для работы с электронной таблицей
Рис. 3. Вызов пользовательской функции с аргументом
WARNING
Работа с Google Docs
Когда встает задача автоматизации работы с офисными документами, первым делом на ум приходит VBA, одно упоминание которого оказывает на многих тотальное антиэкстатическое воздействие, вызывая болезненные воспоминания из школьного и университетского прошлого. Google Script однозначно удобнее и доступнее для понимания. Особенно для веб-разработчиков, ведь это же родной, привычный и любимый JS! Разберем пару примеров скриптов для Google Docs. Приведенный код заполняет левую верхнюю ячейку первого листа активной таблицы:
А этот код создает копию текстового документа и кладет его в определенное место:
А вот так можно провести замену строк в текстовом документе:
Следующий пример кода подсвечивает определенные слова в тексте:
Рис. 4 Вот здесь можно узнать ID документа
Если пишешь скрипт, включающий в себя функции поиска/замены текста, помни о том, что GS поддерживает регулярные выражения.
Работа с почтой
Письмо отправляется одной короткой строкой: MailApp.sendEmail(«irairache@gmail.com», «тема письма», «текст письма») Если добавить к ней еще немного кода, то можно организовать рассылку по списку адресов из электронной таблицы (исходник ищи в приложении):
Помимо рассылок, с помощью GS можно производить автоматизированную обработку содержимого почтового ящика. Пример — удаление всех писем от адресата, на которого ты обиделся:
WARNING
Имей в виду, что Gmail не только защищает от входящего спама, но и ограничивает рассылку исходящего. Больше 500 писем за сутки с помощью Google Apps Script не выйдет.
Работа с Google Translate
С помощью Google Apps Script можно переводить текстовые строки с одного языка на другой. Пример:
Коды для языков можно посмотреть в адресной строке сервиса Google Translate.
Работа с Google Drive
Google Apps Script может работать с файлами пользователя, размещенными на Google Drive. Этот скрипт выводит в консоль имена всех файлов пользователя:
К файлам можно применять несколько десятков различных методов. Вот некоторые из них:
Работа с Google Contacts
Адресная книга также может быть подвергнута автоматизированной обработке. Приведенный ниже код копирует все контакты из группы «Редакция» в лист Google Spread Sheet:
Работа с Google Tasks
С помощью Google Apps Scripts можно работать с сервисом Google Task — создавать новые задачи и парсить уже имеющиеся.
Этот код создает новое дело в списке:
А таким образом можно вывести список нумерованных задач в консоль:
Задачи можно перемещать из одного списка в другой с помощью метода move, дополнять с помощью метода update и удалять с помощью метода delete.
Всего есть несколько десятков методов для работы с задачами. Полный их список доступен вGoogle Apps Script References для Google Tasks.
Работа с календарем
Создавать события в календаре тоже можно автоматически (и так же, как в случае с рассылкой, формировать информацию о них из строк таблицы). Код для создания события:
Формы обмена скриптами
Есть два основных способа поделиться своим скриптом с другим человеком (без учета непосредственного обмена исходным кодом) — ссылка и гаджет. В первом случае все просто: пользователь получает ссылку на программу, переходит по ней, и скрипт немедленно начинает выполняться (при условии, что человек авторизирован в своем Google-аккаунте).
События
Можно настроить скрипт так, чтобы он выполнялся после определенного события. К примеру, после открытия/редактирования электронной таблицы или отправки данных формы. Подробности о работе с Events
Работа с базами данных
Для этого существует сервис для работы с базами данных Google Cloud SQL. По сути — классический MySQL в облаке. Может взаимодействовать с Google Apps Script по стандарту Java Database Connectivity. Вот пример кода, который производит чтение записей из таблицы:
Стоимость использования сервиса — 88 долларов в год за 10 Гб свободного места. С другими базами данных Google Apps Script, к сожалению, работать не может. Если ты запланировал написать скрипт, который должен взаимодействовать с данными, не стоит сразу расстраиваться или истощать свой бюджет пожертвованиями на закупку квадроциклов для жителей Кремниевой долины. Есть два способа выкрутиться из этой ситуации:
Приложения, с которыми может взаимодействовать Google Apps Script
Я думаю, что далеко не каждый из наших читателей успел опробовать все онлайн-сервисы Google. В целях расширения кругозора и стимуляции творческого воображения приведем краткий обзор возможностей приложений, работу которых можно автоматизировать с помощью Google Apps Script.
По старой доброй традиции, которой уже почти три месяца, мы выложили несколько исходничков на GitHub:
Advanced Google Services
У Google есть множество API для разработчиков, которые можно внедрять в программы, написанные на Google Apps Script. Для этого надо подключить в редакторе скриптов эту возможность (в меню Resources, далее Advanced Google services). После этого можно будет задействовать возможности следующих сервисов: