Проблема: При запуске сценария, Google говорит мне, « У вас нет разрешения на вызов openById»ГАЗ «У вас нет разрешения на вызов openById»
Я переписал сценарий из другой одной из моих таблиц Google и изменил ссылку на ячейку переменной target_ssKey и создал именованные диапазоны нулевого размера как в исходных, так и в целевых таблицах.
ГАЗ документация ничего не говорит о причинах, почему он не может работать:
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openById%28String%29
Другая документация ГАЗ говорит, что должен работу для меня, потому что я призываю его из пользовательского меню:
https://developers.google.com/apps-script/guides/sheets/functions#using_apps_script_services
Второе звено выше говорит:
Если ваша пользовательская функция выдает сообщение об ошибке У вас нет разрешения на вызов службы X., услуга требует авторизации пользователя и, следовательно, не может использоваться в пользовательской функции.
Чтобы использовать службу, отличную от перечисленных выше, создайте пользовательское меню , которое запускает функцию сценария приложений вместо написания пользовательской функции . Функция, которая запускается из меню, запрашивает у пользователя для авторизации в случае необходимости и, следовательно, может использовать все приложения Сценарий.
Я попытался включить функцию в проект «Пользовательские функции», а затем в проект «Надстройка», но все же получил то же сообщение об ошибке.
Любые идеи о том, что я делаю неправильно и как это сделать?
Вот мой точный код:
function exportData_SStoSS() {
// Get the source data.
var source_ss = SpreadsheetApp.getActiveSpreadsheet();
var data = source_ss.getRangeByName("exportData").getValues();
// Identify the target.
var controls_sh = source_ss.getSheetByName("Controls");
var target_ssKey = controls_sh.getRange('C2').getValue();
var target_ss = SpreadsheetApp.openById(target_ssKey);
// Paste the data to the target.
target_ss.getRangeByName("importData").setValues(data);
};
Есть ли официальный источник этой информации? –