В настоящий момент во множестве таблиц в качестве скрипта вставлен следующий код:
function append()
{
SpreadsheetApp.getUi().alert('Всё сохранилось! Спасибо!');
Library.called_by_button();
}
Вся исполняемая часть вынесена в подключаемую библиотеку Library.
Есть проблема. Если вносить правки в Library, то в каждом отдельном файле нужно вручную менять версию подключаемого файла на самый последний.
Насколько я понимаю, если развернуть ту же Library как веб-приложение (UrlFetchApp.fetch), то достаточно будет просто публиковать (обновлять) файл веб-приложения, и во всех файлах он автоматически станет актуальным.
Сейчас библиотека берет значения из открытой таблицы и отправляет их в другую, развернутую как веб-приложение. Код библиотеки выглядит сейчас так:
function called_by_button(data_to_be_sent){
var date = new Date();
var ss1 = SpreadsheetApp.getActive();
var id = ss1.getRange("B1").getValue();
var data = {
'date': date,
'a1': id
var options = {
'method' : 'post',
'payload' : data,
muteHttpExceptions: true
};
// This is probably the best way to use UrlFetchApp() and handle errors.
var url = 'https://script.google.com/a/***/exec';
try {
var response = UrlFetchApp.fetch(url, options); // Post the data (make the HTTP Request)
var responseCode = response.getResponseCode();
if (responseCode === 200) { // 200 = SUCCESS
Logger.log("url_fetch() response code %s ", responseCode);
return response;
} else {
Logger.log(Utilities.formatString("url_fetch() Request failed for: %s, Expected 200, got %d",url,responseCode ));
return false;
//
}
}// end Try
catch (err) {
Logger.log(Utilities.formatString("url_fetch() Request failed (underlying network error). %s, response code: %s",err, responseCode));
return false;
}
}
Подскажите, пожалуйста, что следует поменять в самом коде в обоих файлах (в открытой таблице и в библиотеке), чтобы библиотека работала как веб-приложение?