Google Script разрешение setValue

Я пытаюсь установить какое-либо значение в ячейку в электронной таблице документов Google.

function exampleFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range1 = sheet.getRange("A1");
  var value1 = range1.getValue();
  value1+=1;
  range1.setValue(2);
  return value1;
}

Если я пытаюсь воздействовать на ячейку с помощью этой функции, появляется эта ошибка:

У вас нет разрешения, необходимого для setValue. (строка 10, файл "Ддд" )

Вы знаете, как я мог сделать это возможным? Я действительно хочу, чтобы затронутая ячейка приняла значение ячейки A1 и увеличила значение A1 +1.

Спасибо

Ответ 1

из документации:

Пользовательские функции возвращают значения, но они не могут устанавливать значения вне тех ячеек, в которых они находятся. В большинстве случаев пользовательская функция в ячейке A1 не может изменять ячейку A5. Однако, если пользовательская функция возвращает двойной массив, результаты переполняют ячейку, содержащую эту функцию, и заполняют ячейки ниже и справа от ячейки, содержащей пользовательскую функцию. Вы можете проверить это с помощью специальной функции, содержащей return [[1,2], [3,4]];.

ссылка: Пользовательские функции в таблицах

Ответ 2

Похоже, что вы используете указанную выше функцию как пользовательскую функцию, другими словами, она вызывается формулой ячейки в пользовательском интерфейсе Google Таблиц следующим образом:

=exampleFunction()

Пользовательские функции в Google Таблицах имеют ограничения, так как они не могут использоваться для вызова служб Google Apps Script, требующих разрешений. Обходным путем является использование другого значения для вызова функции:

Также они могут быть вызваны из диалогов и боковых панелей, Google Приложения Script Веб-приложения и с помощью API Google Apps Script