У меня есть проект Apps Script, где я использую одну библиотеку для управления несколькими электронными таблицами (по одной для каждого пользователя). Это позволяет мне хранить весь код в одном месте для многих пользователей.
Электронная таблица каждого пользователя имеет устанавливаемый триггер (при редактировании), который запускается как отдельный пользователь с авторизацией и вызывает функции из библиотеки.
Теперь я получаю сообщение об ошибке, которого не было раньше:
"У вас нет разрешения на вызов showModalDialog"
showModalDialog
действительно используется в библиотеке для доставки оповещений пользователю, использующему электронную таблицу. Я использую showModalDialog
вместо ui.alert()
, потому что ui.alert()
останавливает код и выдает ошибки, когда пользователь не отвечает через 5 минут (скажем, он ушел со своего компьютера). Это работало раньше, но недавно перестал работать. Почему ??
Мои файлы сценариев включают следующие области действия:
https://www.googleapis.com/auth/script.container.ui
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/spreadsheets
Вот код в пользовательском скрипте:
function userEdited(e) {
Library.userEdited(e);
}
пользовательский скрипт имеет устанавливаемый триггер, который запускает «userEdited» с событием «On edit».
Вот код в скрипте библиотеки:
function userEdited(e){
alert("the dialogue works");
}
function alert(message){
var htmlOutput = HtmlService
.createHtmlOutput('<p>' + message + '</p>')
.setWidth(300)
.setHeight(message.length / 50 * 25 + 30);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, "HAL 9000");
}