@mr_arab

Как избавиться от ошибки «Вам не разрешено вызывать пользователя SpreadsheetApp.openById» при вызове скрипта?

Есть две таблички. В одной из таблиц находятся данные, потом эти данные импортируются в другую таблицу ( с помощью importrange ) там дописывается некоторая информация и происходит заливка данных цветами. При добавлении строк в первую таблицу, во второй строки не добавляются, поэтому и был разработан данный скрипт. Но данный скрипт не запускается из за ошибки
Exception: Вам не разрешено вызывать пользователя SpreadsheetApp.openById. Необходимые разрешения: https://www.googleapis.com/auth/spreadsheets.

Хотя доступ к редактированию таблиц есть у все, у кого есть ссылка на неё. Так я полностью везде авторизовался перед запуском скрипта и даже подключил Google Sheets API, но данная ошибка все равно появляется, подскажите как от неё избавиться
function onEdit(e) {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1");
  var startRow = e.range.getRow();
  var numRows = e.range.getNumRows();
  var firstCell = sheet1.getRange(startRow+numRows, 1).getValue();
  var savedCellA1 = sheet1.getRange("A1");
  var savedCellA2 = sheet1.getRange("A2");
  savedCellA1.setValue(firstCell);
  savedCellA2.setValue(numRows);


  var sheet2 = SpreadsheetApp.openById('1nu-cqtMMoMT_QaNI9DbaOFDliauhYixcn9mjzqK9agE').getSheetByName("Лист2");
  var range = sheet2.getRange("A3:D");
  var numRows = range.getNumRows();
  var savedCellMain = sheet2.getRange("A3");
  var savedCellMain1 = sheet2.getRange("A4");
  for (var i = 1; i < numRows; i++){
    var frstCell = range.getCell(i, 1);
    if(frstCell.getValue() == savedCellMain.getValue()){
      var temp = frstCell.getRow();
      break;
    }
  }
  var end = savedCellMain1.getValue();
  for (var i=1; i<=end; i++){
    sheet2.insertRowBefore(temp-end);
    var lastColumn = sheet2.getLastColumn();
    var range = sheet2.getRange(temp-end, 1, 1, lastColumn);
    range.setBackground(null);
  }
}


Ссылка на первую таблицу: https://docs.google.com/spreadsheets/d/1vnKTdIZ3O4...
Откуда берём данные
Ссылку на вторую таблицу:
https://docs.google.com/spreadsheets/d/1nu-cqtMMoM...
Куда вставляем данные
  • Вопрос задан
  • 554 просмотра
Решения вопроса 1
@mr_arab Автор вопроса
Необходимо было переименовать функцию с OnEdit на любое другое и выставить её в качестве триггера по изменению, да ещё и код надо было подделать, но это уже совсем другая история :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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