Если в функции onOpen Google Doc я создаю объект электронной таблицы, открывая электронную таблицу по id, как передать этот объект другим функциям, если я использую систему меню? (более подробное объяснение ниже)Ошибка разрешения скрипта с открытым письмом Google Script
У меня есть сценарий docs для Google, который будет делать снимок документа в определенное время, а затем экспортировать его в .docx и обновить таблицу с помощью URL-документа моментального снимка. Это инициируется опции меню следующим образом:
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
}
Что вызывает функцию моментального снимка()
function snapshot() {
//open the spreadsheet using id
var ss=SpreadsheetApp.openById('spreadsheet_id');
Это генерирует ошибку you do not have permission to call openbyid()
Я понимаю, что Google скрипт запрещает openbyid() из вызывается в пользовательских функциях (которые я интерпретировал как функции в электронной таблице, но whatevs). Если я изменил функцию onOpen, чтобы включить вызов OpenById(), он будет работать.
function onOpen(e) {
DocumentApp.getUi().createMenu('Senate Secretary Menu')
.addItem('Snapshot', 'snapshot')
.addToUi();
var ss=SpreadsheetApp.openById('spreadsheet_id');
}
Мой вопрос в том, как передать объект файла из функции onOpen в функцию моментального снимка?
Чтобы уточнить, используете ли вы фактический идентификатор электронной таблицы (длинную последовательность букв и цифр) или строку '' spreadsheet_id''? – Brady
Это на самом деле длинная строка чисел. Но я нашел ошибку, размещенную ниже. – rwreed