1. Введение в скрипт Google Apps
В этой лаборатории кода мы познакомим вас с одним из самых простых способов написания кода, который обращается к технологиям разработчиков Google. Все это делается с помощью JavaScript, основного языка веб-разработки. Используя скрипт Google Apps, вы напишете код для извлечения адреса из ячейки в таблице Google, создадите карту Google на основе адреса, а затем отправите карту в виде вложения с помощью Gmail. Лучшая часть? Это будет всего четыре строки кода.
Что вы узнаете
- Как использовать скрипт Google Apps с различными службами Google, такими как Google Sheets, Google Maps и Gmail.
- Разрабатывайте код с помощью встроенного в браузер редактора Apps Script.
Что вам понадобится
- Веб-браузер с доступом в Интернет
- Учетная запись Google (для учетных записей Google Workspace может потребоваться одобрение администратора).
- Базовое знание Google Таблиц.
- Умение читать листы формата А1.
2. Опрос
Как вы будете использовать эту кодовую работу/руководство?
Как бы вы оценили свой опыт работы с инструментами и API для разработчиков Google Workspace?
3. Обзор
Теперь, когда вы знаете, о чем эта лаборатория, что именно вы собираетесь делать?
- Узнайте немного о Apps Script, основанном на JavaScript.
- Создайте таблицу Google Sheets.
- Введите адрес в верхнюю левую ячейку таблицы (A1).
- Узнайте, как открыть редактор Apps Script для любого документа.
- Отредактируйте код Apps Script, сохраните и запустите его.
- Используйте Gmail для просмотра результата.
Давайте начнем.
Что такое скрипт Google Apps?
Google Apps Script – это платформа разработки, которая позволяет быстро и легко создавать сценарии и небольшие приложения, интегрируемые с Google Workspace. С помощью Apps Script вы:
- Напишите код на JavaScript и получите доступ к встроенным библиотекам для приложений Google Workspace, таких как Gmail, Календарь, Диск и т. д.
- Не нужно ничего устанавливать — мы предоставляем вам редактор кода прямо в вашем браузере, и ваши скрипты запускаются на серверах Google.
- Не нужно беспокоиться о сложных темах, таких как безопасность и права доступа к данным, поскольку платформа сделает это за вас.
Apps Script можно использовать для создания различных приложений, от чат-ботов до веб-приложений. Одним из самых популярных вариантов использования является расширение функциональности электронных таблиц Google Sheets. В оставшейся части этой лабораторной работы вы узнаете, как использовать Apps Script для получения данных из электронной таблицы и подключения их к другим службам Google.
4. Создайте Google Таблицу и введите почтовый адрес.
В новой таблице Google введите действительный почтовый адрес, следуя этим инструкциям:
- Создайте Google Sheet, используя эту удобную ссылку ( sheets.google.com/create ). Либо перейдите на свой Google Диск ( drive.google.com ) и нажмите «Создать» > «Google Таблицы» > «Пустая таблица».
- В пустой таблице перейдите к первой ячейке в верхнем левом углу (A1). Оно будет в столбце А и строке 1. Если вам нужно заново ознакомиться, вы можете ознакомиться с этим описанием обозначения А1 .
- Введите действительный почтовый адрес в ячейку. Выберите адрес в мире с точным местоположением, используя почтовый адрес, почтовый индекс или комбинацию города и штата/провинции. Вот пример адреса в Нью-Йорке:
Это все, что вам нужно сделать на листе. Давайте откроем редактор и напишем код.
5. Измените код скрипта приложений.
Теперь, когда у вас есть новый Google Sheet, пришло время отредактировать связанный с ним скрипт. Следуйте этим инструкциям:
Откройте редактор скриптов
В строке меню выберите «Расширения» > «Скрипт приложений» , чтобы открыть редактор кода браузера для скриптов приложений.
На новой вкладке браузера редактор кода отображает сценарий , привязанный к контейнеру по умолчанию, для листа. Функция по умолчанию с именем myFunction()
создается автоматически, и ваш курсор помещается внутри функции, чтобы вы могли начать работу.
Отправить карту адреса по электронной почте
Код «шаблона», который вам предоставлен, пуст, поэтому давайте заменим его нашим приложением.
- В редакторе скриптов замените блок кода
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'
) действительным. Например, друг@example.com . - Чтобы сохранить сценарий, нажмите «Сохранить». .
- Чтобы переименовать проект Apps Script, нажмите «Проект без названия» , введите название проекта и нажмите « Переименовать» .
Обзор кода
Давайте рассмотрим 4 строки функции sendMap()
, составляющие все приложение. Интересно, что код ссылается на три разных продукта 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 Таблицы, Карты и Gmail.
После того как функция названа и сохранена, пришло время запустить функцию. В верхней части редактора убедитесь, что в списке функций выбран sendMap()
, и нажмите « Выполнить» .
Разработчики ценят функцию Apps Script за то, что вам не нужно писать код авторизации, который предоставляет программе доступ к данным пользователя. Несмотря на то, что Apps Script управляет этим, пользователям вашего приложения все равно необходимо предоставить скрипту разрешение на доступ к их электронным таблицам и отправку электронной почты через Gmail. Первый диалог авторизации выглядит так:
Нажмите «Просмотреть разрешения» , чтобы продолжить.
Затем вы увидите диалоговое окно OAuth2 с запросом разрешения на доступ к вашему листу и отправку электронной почты от вашего имени:
После того как вы предоставите разрешение, сценарий завершится.
Проверьте учетную запись электронной почты, куда вы отправили свое сообщение, и вы должны найти электронное письмо с темой «Карта» и сообщение, которое выглядит следующим образом:
Когда вы откроете вложение в сообщении электронной почты, вы должны получить карту Google с пин-кодом на адресе, который вы ввели на листе:
Всего с помощью четырех строк кода вы получили содержательный доступ к трем различным продуктам Google.
7. Дополнительные ресурсы
Код, представленный в этой лаборатории кода, также доступен в репозитории GitHub по адресу github.com/googleworkspace/apps-script-intro-codelab . Ниже приведены дополнительные ресурсы, которые помогут вам глубже изучить материал, представленный в этой лаборатории кода, и изучить другие способы программного доступа к инструментам разработчика Google.
Документация
- Сайт документации Google Apps Script
- Скрипт приложений: служба Gmail
- Скрипт приложений: служба электронных таблиц
- Скрипт приложений: Служба карт
Видео
Новости и обновления
- Блог разработчиков Google Workspace
- Твиттер: разработчики Google Workspace (@workspacedevs)
Другие лаборатории разработки
Вводный
- [Google Таблицы] Основы создания сценариев приложений с помощью Google Таблиц
- [REST API] Используйте Google Workspace и Google API для доступа к файлам и папкам на вашем Google Диске.
Средний
- [Apps Script] Дополнения Google Workspace для Gmail
- [Скрипт приложений] Пользовательские боты для Hangouts Chat
- [REST API] Используйте Google Таблицы в качестве инструмента отчетности вашего приложения.
- [REST API] Создание презентаций Google Slides с помощью API BigQuery.