"ScriptError: для выполнения этого действия требуется авторизация". при запуске google.script.run из библиотеки
С Уважением,
Я нашел несколько вопросов относительно этой ошибки:
"ScriptError: Authorisation is required to perform that action."
но я не могу найти то, что касается моей проблемы.
Я пытаюсь вызвать файл функции.gs из файла.html, используя google.script.run, где оба файла находятся в библиотеке. Ссылаясь на этот ответ, этот ответ и этот отчет об ошибке, я создал "функцию-оболочку" в сценарии, который использует библиотеку, но все еще не смог завершить выполнение.
Вот что я сделал:
.html в библиотеке:
<html>
<head>
<script>
function onFailure(error) {
console.log("ERROR: " + error);
}
function myfunc() {
console.log("HERE");
google.script.run.withFailureHandler(onFailure).callLibraryFunction('LibraryName.test', ['test123']);
}
</script>
</head>
<body>
<button onclick="myfunc()">CLICK</button>
</body>
</html>
.gs в библиотеке
function test(x){
Logger.log(x);
}
.gs в скрипте, который использует библиотеку:
function callLibraryFunction(func, args) {
var arr = func.split(".");
var libName = arr[0];
var libFunc = arr[1];
args = args || [];
return this[libName][libFunc].apply(this, args);
}
Журналы консоли
HERE
но затем он регистрирует
ERROR: ScriptError: Authorisation is required to perform that action.
вместо ожидаемого результата,
test123
.
ПРИМЕЧАНИЕ. HTML предназначен для настраиваемого немодального диалогового окна в Таблицах, а не для веб-приложения.
Очень надеюсь, что кто-нибудь сможет мне в этом помочь. Заранее спасибо.
1 ответ
Вам необходимо предоставить доступ к библиотеке «LibraryName» как авторизованному приложению в вашей учетной записи Gmail так же, как вы предоставляете доступ к вызывающему скрипту. Я думаю, вы назвали метод