К основному контенту

Сообщения

Показаны сообщения с ярлыком "HtmlService"

Получить содержимое файла проекта

Получить содержимое файла проекта Apps Script Проект Google Apps Script условно состоит из нескольких файлов. Иногда есть необходимость взять содержимое этих файлов. Для html-файлов это довольно просто - можно взять содержимое HtmlService : /** * Способ 1. Получение содержимого файла проекта через HtmlService * * Не подходит для не html-файлов */ function getContentViaHtmlService() { const content = HtmlService.createTemplateFromFile('index') .evaluate() .getContent(); console.log(content); } Для gs-файлов все не так просто. Предыдущий способ для них не подходит. Есть недокументированный метод getResource(имя_файла) сервиса ScriptApp : /** * Способ 2. Получение содержимого файла проекта через ScriptApp */ function getContentViaScriptApp() { const content = ScriptApp.getResource('Code').getDataAsString(); console.log(content); }

Как открыть ссылку с помощью Google Apps Script?

Часто возникает задача, в которой требуется по результатам работы скрипта открыть ссылку в новом окне/вкладке браузера. В Google Apps Script не существует методов взаимодействия с браузером. Единственная более-менее реальная связь между пользователем и сервером скрипта находится в интерфейсе реализуемой программы. Это может быть Таблица, Документ или Web приложение. Все они реализуются через HtmlService. Например, SpreadsheetApp.getUi().showModelessDialog(htmlOutput, "title"); Понятно, что в построенном htmlOutput , можно выполнить код для текущего window . Например, window.open(url, "_blank"); Идея обернутая кодом ниже по тексту. Пользователь выбирает ячейку в Таблице (или все, что угодно, что формирует ссылку). На сервере На клиенте строится окно диалога, открывается новая вкладка браузера и закрывается окно диалога, при успешном выполнении условия. Иначе появляется сообщение, что переданный параметр не ссылка. Этот метод имеет существенный недостаток...