@maksam07

Почему вылазит ошибка: Вам не разрешено вызывать пользователя SpreadsheetApp.openById. Необходимые разрешения..?

Добрый день. Пишу скрипты для таблиц. Все работает хорошо, если функции запускать из нового созданного меню сверху:
function onOpen(){
	var spreadsheet = SpreadsheetApp.getActive();
	var menuItems = [
		{ name: 'Обновить', functionName: 'Refresh' },
		{ name: 'Обновить (интервал 5 сек.)', functionName: 'Refresh5sec' },
		{ name: 'Тест (не нажимать)', functionName: 'getSecondary' },
	];
	spreadsheet.addMenu( 'СКРИПТЫ', menuItems );
}

Но если использовать триггер редактирования ячейки и из него запускать функцию, то в консоли вылазит ошибка:
function onEdit( e ){
	var range = e.range;
	if( range.getA1Notation() == 'F3' ){
		getSecondary();
	}
}

Ошибка:
Скрипт Google Apps: Exception: Вам не разрешено вызывать пользователя SpreadsheetApp.openById. Необходимые разрешения: https://www.googleapis.com/auth/spreadsheets.


При том, когда я впервые вызывал функцию через меню, у меня вылазило окно, где гугл просил предоставить разрешения, что я и сделал. И после этого функции, через меню, стали работать отлично. Но почему не работает при редактировании ячейки? При том, что эти же права я уже давал.
  • Вопрос задан
  • 4319 просмотров
Решения вопроса 1
@maksam07 Автор вопроса
Помог вариант создания устанавливаемого (полноценного, непростого) триггера на редактирование и чуть изменил название функции, чтобы она не конфликтовала с заложенным к этой функции (onEdit) триггером
function onEditInstall( e ){
  var range = e.range;
  if( range.getA1Notation() == 'F3' ){
    getSecondary();
  }
}
Спасибо Oleg и Alexander Ivanov за подсказку
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы