*Детальное объяснение работы программы
Разбор и объяснение кода
![*Детальное объяснение работы программы](https://data.contributor.pw/labs/hands-on-apps-script-intro/thumbnail_07.png)
Этот необязательный раздел можно использовать для самостоятельного изучения после завершения лабы, чтобы заполнить все пробелы, которые могут возникнуть, или для дальнейшего изучения.
Поскольку это приложение очень короткое, мы не можем обсуждать общую структуру кода. Вместо этого мы можем просто пройти построчно и посмотреть, что касается различных продуктов Google, всего в четырех строках кода!
- Это обычное объявление функции
sendMap()
для JavaScript.
function sendMap() {
- Первая строка кода вызывает службу Таблиц, доступную из Apps Script через объект
SpreadsheetApp
. Возвращенная Таблица присваивается переменнойsheet
. МетодgetActiveSheet()
делает именно то, что он говорит, - он возвращает “дескриптор” текущей Таблицы, который активен в пользовательском интерфейсе (UI).
const sheet = SpreadsheetApp.getActiveSheet();
- С помощью объекта
sheet
указывается диапазон ячеек (одна ячейка) в нотации A1 с помощьюgetRange()
. “Диапазон” - это одна или группа ячеек, например, такая как нашаA1
, в которую мы ввели текст. Теперь давайте извлечем то, что находится внутри этого диапазона ячеек с помощью вызоваgetValue()
и назначим переменнойaddress
при возврате. Попробуйте добавить больше адресов и читать из разных ячеек.
const address = sheet.getRange('A1').getValue();
- Третья строка кода подключается к сервису Google Maps через объект
Maps
. Как только у нас появится доступ к сервису карт, мы запрашиваем создание новой статической карты черезnewStaticMap()
. Затем вы можете поставить “булавку” на адрес, который мы вытащили из Таблицы, используя методaddMarker()
.
const map = Maps.newStaticMap().addMarker(address);
- В последней строке используется служба Gmail (через объект
MailApp
), вызывающая свой методsendEmail()
для отправки электронного письма, содержащего текст “Смотрите ниже.” и изображение карты как вложение. Прим., опять же, четвертая строка разбита на 3 для удобства чтения.
GmailApp.sendEmail('hello@contributor.pw', 'Карта', 'Смотрите ниже.', {
attachments:[map]
});