Поэтому, чтобы избежать повторного добавления триггера при каждом открытии электронной таблицы, я хочу проверить, существует ли он уже.
Начиная с Документы У меня есть:
var ss = SpreadsheetApp.getActiveSpreadsheet(); var triggers = ScriptApp.getUserTriggers(ss);
Требуемая область авторизации: https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.scriptapp
, которую я добавил в appsscript.json примерно так:
(...) "oauthScopes": [ "https://www.googleapis.com/auth/forms", "https://www.googleapis.com/auth/script.scriptapp", "https://www.googleapis.com/auth/spreadsheets" ] (...)
Несмотря на то, что я все еще получаю эту ошибку (перевод сдатский):
You don't have permission to call ScriptApp.getUserTriggers. Required permissions: https://www.googleapis.com/auth/script.scriptapp at onOpen(get-form-submit-and-update-sheet:4)
Чего мне не хватает?
Нашел ответ здесь: https://stackoverflow.com/a/52276300/532238
Добавление
ScriptApp.invalidateAuth();
В качестве первой строки в моей функции onOpen ().
Позволяет вам повторно авторизоваться -хотя мне кажется, что это взлом.