Если вы используете Службы Google, скорее всего, вы не используете их в полной мере. С помощью скрипта Google Apps вы можете добавлять пользовательские меню и диалоги, писать собственные функции и макросы и создавать дополнения для расширения Документов, листов и слайдов Google.
Что такое скрипт Google Apps?
Google Apps Script — это облачная платформа разработки для создания пользовательских, легковесных веб-приложений. Вы можете создавать масштабируемые приложения прямо в браузере, которые легко интегрируются с продуктами Google.
Apps Script использует язык JavaScript и объединяет знакомство с веб-разработкой и продуктами Google в одном месте, что делает его идеальным инструментом для настройки приложений для вашего бизнеса, организации или просто для автоматизации повседневных задач.
С помощью скрипта Google Apps вы можете сделать два типа скриптов:
- Автономный: эти сценарии не связаны ни с какими службами, такими как Google Docs, Sheets или Slides. Они могут выполнять общесистемные функции, вроде макросов. Они не идеальны для обмена с более широкой аудиторией, потому что вам нужно скопировать и вставить код, чтобы использовать их. Примеры включают в себя поиск на вашем диске файлов с конкретными именами или выяснение того, кто имеет доступ к вашим общим файлам и папкам на диске.
- Привязка: они связаны с файлом Google Docs, Sheets, Forms или Slides. Связанные сценарии расширяют функциональность файла и выполняют действия только в этом конкретном файле. Примеры включают добавление пользовательских меню, диалоговых окон и боковых панелей к службе или сценарию, который отправляет вам уведомления по электронной почте каждый раз, когда конкретная ячейка в листе изменяется.
Если вы не знаете много JavaScript, или, возможно, вы никогда не слышали о нем раньше, не позволяйте этому пугать вас от разработки собственного сценария. Начать использовать Apps Script очень просто, так как он предоставляет множество документации и примеров, которые вы можете проверить самостоятельно. Ниже приведены несколько простых примеров, которые помогут вам понять, как они работают.
Как создать автономный скрипт
Теперь, когда вы знаете, что они из себя представляют, давайте создадим ваш первый автономный скрипт. Мы будем использовать пример кода от Google, чтобы помочь нам в этом, и предоставим пояснения к строкам кода, если вы не знакомы с GoogleScript или JavaScript.
Перейдите к скрипту Google Apps . В верхнем левом углу щелкните значок гамбургера, затем нажмите «Новый сценарий».
Новый безымянный проект открывается с пустой функцией внутри, но поскольку мы используем пример кода из Google, вы можете удалить весь текст в файле.
Примечание. Для работы этого сценария необходимо войти в свою учетную запись Google.
После того, как вы удалили код, который предварительно загружен в файл, вставьте следующий код:
// Инициализируем вашу функцию function createADocument () { // Создать новый Google Doc с именем «Привет, мир!» var doc = DocumentApp.create ('Привет, мир!'); // Доступ к телу документа, затем добавление абзаца. doc.getBody (). appendParagraph ('Этот документ был создан Google Apps Script.'); }
Прежде чем вы сможете запустить код, вы должны сохранить скрипт. Нажмите «Файл», а затем нажмите «Сохранить».
Переименуйте проект во что-нибудь, что поможет вам вспомнить, что делает скрипт, затем нажмите «ОК».
Чтобы запустить код, нажмите значок воспроизведения, расположенный на панели инструментов.
Вам нужно будет предоставить сценарию некоторые разрешения для доступа к вашей учетной записи Google через всплывающее окно после того, как вы в первый раз нажмете «Выполнить». Нажмите «Просмотр разрешений», чтобы увидеть, что ему нужно для доступа.
Поскольку это приложение не подтверждено Google, вы получите еще одно предупреждение. В основном это говорит о том, что, если вы не знаете, что разработчик (мы) действуем, только если вы им доверяете. Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc» (или как вы назвали этот скрипт).
Проверьте разрешения, необходимые для сценария, затем нажмите «Разрешить».
Большой! Теперь перейдите на диск и, если все получилось, файл «Hello, World!» Должен быть там. Дважды щелкните по нему, чтобы открыть его.
Когда вы откроете файл, вы увидите строку текста из кода, добавляемого в ваш документ.
Теперь, если вы хотите получать уведомление по электронной почте при создании документа, вы можете добавить еще несколько строк кода для автоматической отправки одной в свою учетную запись Google. Добавьте следующие строки кода после doc.getBody().appendParagraph('This document was created by Google Apps Script.');
но перед последней фигурной скобкой } :
// Получить URL документа. var url = doc.getUrl (); // Получить адрес электронной почты активного пользователя - это вы. var email = Session.getActiveUser (). getEmail (); // Получить имя документа для использования в качестве темы письма. var subject = doc.getName (); // Добавляем новую строку в переменную "url" для использования в качестве тела письма. var body = 'Ссылка на ваш документ:' + url; // Отправить себе электронное письмо со ссылкой на документ. GmailApp.sendEmail (электронная почта, тема, тело);
Нажмите значок «Выполнить».
Поскольку вы добавили пару дополнительных строк, требующих дополнительных разрешений, вы должны пройти тот же процесс, что и раньше. Нажмите «Просмотреть разрешения».
Нажмите «Дополнительно», затем нажмите «Перейти к CreateNewDoc».
Примечание. Поскольку Google предупреждает вас о запуске непроверенных приложений, вы также получите электронное письмо с предупреждением о безопасности. Google делает это на тот случай, если вы не единственный, кто предоставляет доступ к непроверенному приложению.
Просмотрите новый набор разрешений, который требуется сценарию, затем нажмите «Разрешить».
Когда документ будет создан, вы получите электронное письмо со ссылкой на файл на вашем Google Диске.
Нажав на ссылку, вы попадете прямо в файл, который находится внутри вашего Google Диска.
Как создать связанный скрипт
Для этого следующего примера давайте создадим связанный скрипт для Google Sheets, который анализирует существующий лист на наличие дублирующихся записей в строке и затем удаляет их.
Если вы помните ранее, связанные сценарии работают как надстройка к конкретным файлам, поэтому для ее создания давайте откроем существующую электронную таблицу Google Sheet, которая содержит хотя бы одну дублирующуюся точку данных.
Нажмите «Инструменты», затем нажмите «Редактор скриптов».
Скрипт Google Apps открывается в новой вкладке с пустым скриптом. На этот раз, однако, сценарий привязан к листу, с которого он открывается.
Как и раньше, удалите пустую функцию и вставьте следующий код:
// Удаляет дублирующиеся строки с текущего листа. function removeDuplicates () { // Получить текущую активную электронную таблицу var sheet = SpreadsheetApp.getActiveSheet (); // Получить все значения из строк электронной таблицы var data = sheet.getDataRange (). getValues (); // Создать массив для не дубликатов var newData = []; // Перебираем ячейки строки для (различные данные) { var row = data [i]; var duplicate = false; for (var j in newData) { if (row.join () == newData [j] .join ()) { дубликат = правда; } } // Если не дубликат, положить в массив newData if (! duplicate) { newData.push (строка); } } // Удалить старый лист и вставить массив newData sheet.clearContents (); sheet.getRange (1, 1, newData.length, newData [0] .length) .setValues (newData); }
Примечание. Для удаления дубликатом скрипта все ячейки в строке должны совпадать.
Сохраните и переименуйте ваш скрипт, затем нажмите значок «Выполнить».
Опять же, как вы столкнулись с последним созданным вами сценарием, вам придется просмотреть разрешения, которые требуются вашему сценарию, и предоставить ему доступ к вашей электронной таблице. Нажмите «Просмотреть разрешения», чтобы увидеть, какой доступ требуется для этого сценария.
Примите подсказки и нажмите «Разрешить», чтобы авторизовать скрипт.
После того, как он закончится, вернитесь к своему листу и, как по волшебству, все повторяющиеся записи исчезнут из вашего файла!
К сожалению, если ваши данные находятся внутри таблицы — как в примере выше — этот скрипт не изменит размер таблицы, чтобы соответствовать количеству записей в ней.
Хотя это два довольно простых примера использования Apps Script, параметры практически безграничны, и все зависит от того, что вы можете придумать с этими ресурсами. Но, в то же время, зайдите на страницу GSuite Devs Github или Digital Inspiration и ознакомьтесь со стеком примеров сценариев, которые вы можете развернуть в своих собственных сервисах, чтобы получить лучшее представление о том, на что действительно способен Apps Script.