Что такое развертывание в Google Apps Script?
Развертывание в Google Apps Script – это процесс публикации вашего скрипта, делающий его доступным для использования другими пользователями или другими приложениями. По сути, это превращение вашего кода из простого скрипта в Google Script Editor в работающее веб-приложение, API, надстройку или выполняемую функцию, доступную за пределами редактора.
Зачем нужно развертывание?
Развертывание необходимо для:
- Предоставления доступа к вашему скрипту другим пользователям.
- Интеграции вашего скрипта с другими сервисами Google Workspace (Sheets, Docs, Forms и т.д.).
- Автоматизации задач по расписанию или по триггеру.
- Создания пользовательских веб-приложений внутри экосистемы Google.
- Расширения функциональности Google Workspace с помощью надстроек.
Типы развертываний в Google Apps Script
Google Apps Script предлагает несколько типов развертываний, каждый из которых предназначен для конкретного варианта использования. Выбор типа развертывания зависит от того, как вы планируете использовать свой скрипт.
Типы развертываний Google Apps Script
Веб-приложение
Преобразует ваш скрипт в веб-приложение, доступное по URL. Этот тип развертывания позволяет создавать интерактивные пользовательские интерфейсы и веб-сервисы. Например, можно создать форму обратной связи, панель мониторинга данных из Google Sheets или даже простую CRM.
Выполняемая функция
Позволяет запускать функцию скрипта напрямую, передавая ей параметры. Это удобно для создания API-подобных сервисов или для использования функциональности скрипта в других скриптах.
Надстройка Google Workspace
Интегрирует ваш скрипт в интерфейс Google Sheets, Docs, Forms или Slides. Надстройки расширяют функциональность этих приложений, добавляя пользовательские меню, боковые панели и диалоговые окна.
Сервис API
Предоставляет функциональность вашего скрипта через API, который можно использовать из других приложений и сервисов. Этот тип развертывания требует более продвинутых знаний, но позволяет создавать мощные интеграции.
Подготовка скрипта к развертыванию
Прежде чем развертывать скрипт, необходимо убедиться, что он готов к работе в производственной среде.
Проверка кода на наличие ошибок
Используйте встроенный отладчик и средства проверки кода для выявления и исправления ошибок. Тщательное тестирование – залог стабильной работы развернутого скрипта.
Добавление комментариев и документации
Подробные комментарии и документация помогут вам и другим разработчикам понять, как работает ваш скрипт. Это особенно важно для сложных скриптов и скриптов, которые будут использоваться другими.
/**
* @param {string} keyword Поисковый запрос.
* @param {number} numResults Количество результатов для возврата.
* @return {Array<string>} Массив URL найденных страниц.
* @customfunction
*/
function searchGoogle(keyword: string, numResults: number): string[] {
// Проверка входных параметров
if (!keyword) {
throw new Error("Keyword is required.");
}
if (numResults <= 0) {
throw new Error("Number of results must be greater than zero.");
}
// TODO: Implement Google search using the UrlFetchApp service
// This is a placeholder implementation
const results: string[] = [];
for (let i = 0; i < numResults; i++) {
results.push(`https://example.com/search?q=${keyword}&result=${i + 1}`);
}
return results;
}
Обработка исключений и логирование
Используйте блоки try...catch для обработки возможных ошибок и записывайте информацию о работе скрипта в журнал. Это поможет вам выявлять и устранять проблемы после развертывания.
try {
// Код, который может вызвать ошибку
const data = UrlFetchApp.fetch("https://example.com/api").getContentText();
const jsonData = JSON.parse(data);
Logger.log("Data fetched successfully: " + jsonData);
} catch (e) {
Logger.log("Error fetching data: " + e.toString());
// Обработка ошибки
}
Настройка параметров скрипта
Используйте переменные окружения или хранилище свойств скрипта для хранения параметров, которые могут изменяться после развертывания. Это позволит вам настраивать скрипт без изменения кода.
Развертывание как веб-приложение
Развертывание скрипта как веб-приложения — один из самых распространенных вариантов.
Создание нового развертывания веб-приложения
- В редакторе Apps Script откройте ‘Развертывание’ -> ‘Новое развертывание’.
- Выберите тип ‘Веб-приложение’.
- Опишите ваше развертывание.
Настройка параметров доступа (Кто имеет доступ к приложению?)
Укажите, кто имеет право запускать приложение:
- Только я (только вы сможете использовать приложение).
- Любой, у кого есть ссылка (любой, у кого есть URL, сможет использовать приложение).
- Любой пользователь, выполнивший вход в аккаунт Google (любой пользователь, выполнивший вход в свой аккаунт Google, сможет использовать приложение).
Управление версиями развертывания
Apps Script позволяет управлять версиями развертываний, что позволяет откатываться к предыдущим версиям в случае необходимости.
Тестирование развернутого веб-приложения
После развертывания протестируйте приложение, чтобы убедиться, что оно работает правильно.
Обновление развернутого веб-приложения
Чтобы обновить развернутое веб-приложение, внесите изменения в код и создайте новое развертывание, указав новую версию скрипта.
Развертывание как выполняемая функция
Развертывание как выполняемая функция позволяет вам вызывать функции скрипта из других скриптов.
Создание развертывания выполняемой функции
- В редакторе Apps Script откройте ‘Развертывание’ -> ‘Новое развертывание’.
- Выберите тип ‘Выполняемая функция’.
- Опишите ваше развертывание.
Авторизация скрипта
Скрипт, вызывающий выполняемую функцию, должен быть авторизован для доступа к ресурсам, которые использует эта функция.
Управление доступом к выполняемой функции
Укажите, какие пользователи или сервисы могут вызывать функцию.
Использование выполняемой функции в других скриптах
Чтобы использовать выполняемую функцию в другом скрипте, используйте метод ScriptApp.getService().
// Предположим, что скрипт с выполняемой функцией имеет ID 'YOUR_SCRIPT_ID'
const myFunction = ScriptApp.getService().getUrl('YOUR_SCRIPT_ID');
Управление развертываниями
Apps Script предоставляет инструменты для управления вашими развертываниями.
Список всех развертываний скрипта
В редакторе Apps Script откройте ‘Развертывание’ -> ‘Управление развертываниями’, чтобы увидеть список всех развертываний вашего скрипта.
Редактирование существующих развертываний
Вы можете изменить параметры существующих развертываний, например, параметры доступа или версию скрипта.
Удаление развертываний
Удаление развертывания делает его недоступным для использования.
История развертываний и версионность
Apps Script ведет историю всех ваших развертываний, что позволяет вам вернуться к предыдущим версиям.
Лучшие практики развертывания
Соблюдение лучших практик поможет вам обеспечить надежность и безопасность ваших развертываний.
Использование контроля версий (Git)
Используйте Git для хранения истории изменений вашего кода и для совместной работы с другими разработчиками.
Автоматизация развертывания
Используйте инструменты автоматизации для автоматизации процесса развертывания, например, используя CI/CD (Continuous Integration/Continuous Deployment) системы.
Мониторинг и логирование развернутых скриптов
Регулярно проверяйте журналы выполнения скриптов, чтобы выявлять и устранять проблемы. Используйте инструменты мониторинга для отслеживания производительности скриптов.
Безопасность развертываний
Убедитесь, что ваши развертывания защищены от несанкционированного доступа. Используйте безопасные методы аутентификации и авторизации.
Устранение неполадок при развертывании
Даже при соблюдении лучших практик при развертывании могут возникать проблемы.
Распространенные ошибки и их решения
- Ошибка авторизации: убедитесь, что скрипт авторизован для доступа к необходимым ресурсам.
- Ошибка доступа: проверьте параметры доступа к развертыванию.
- Ошибка выполнения: просмотрите журналы выполнения скрипта, чтобы выявить причину ошибки.
Отладка развернутых скриптов
Используйте инструменты отладки Apps Script для отладки развернутых скриптов.
Поиск информации об ошибках в журналах выполнения
Журналы выполнения скриптов содержат подробную информацию об ошибках, которые могут помочь вам в их устранении.
Заключение
Краткий обзор развертывания в Google Apps Script
Развертывание в Google Apps Script – важный шаг для превращения ваших скриптов в полезные инструменты. Понимание различных типов развертываний и соблюдение лучших практик поможет вам создавать надежные и безопасные приложения.
Рекомендации по дальнейшему изучению
- Официальная документация Google Apps Script: https://developers.google.com/apps-script
- Примеры кода и учебные пособия в Интернете.
- Сообщества разработчиков Google Apps Script.