У меня есть файл листов Google, в котором я создал связанный скрипт. Сценарий выполняет быстрый веб-запрос, извлекает и анализирует некоторые данные, а затем обновляет лист новыми данными.
Я могу запустить его с открытым файлом листов, и все работает, как планировалось. Я хочу переключить его на работу по ежедневному таймеру. Чтобы убедиться, что я работаю с правильным листом, я изменил:
var spreadsheet = SpreadsheetApp.getActive();
к
var spreadsheet = SpreadsheetApp.openById('MyProjectID');
К сожалению, когда я запускаю скрипт сейчас, я получаю следующее:
You do not have permission to call SpreadsheetApp.openById. Required
permissions: https://www.googleapis.com/auth/spreadsheets (line 6, file
"macros")
Насколько я понимаю, openById требует определенных разрешений. Как я могу авторизовать скрипт для получения этих разрешений? В настоящее время я просто управляю этим лично, поэтому его не нужно развертывать по всему миру.
Возможный дубликат Ошибка при использовании SpreadsheetApp и FormApp в одном автономном скрипте
@tehhowch Идеально - вот в чем проблема. Теперь у меня это работает. Подтверждаю, что он запустится и завтра утром, но, похоже, это была проблема. Спасибо!
Обратите внимание, что связанный скрипт отлично работает с SpreadsheetApp.getActive() даже для триггеров, зависящих от времени.





Вероятно, в вашем коде есть
//@OnlyCurrentDoc, так как это позволяет снизить требования к разрешениям для вашего скрипта (.../auth/spreadsheets.currentonly). Удалите эту строку комментария, и автоматическое определение области предложит вам новый экран авторизации при следующем запуске. См. Также stackoverflow.com/questions/52354071/…