Ошибка службы при попытке защиты листа в скриптах Google - PullRequest
0 голосов
/ 05 февраля 2020

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

function setProtection(fila){
  if(fila == undefined){
    do{
      //check some conditions
    }while(isNaN(fila) || fila == undefined || fila<4);
  }
  var link = bitacora.getRange(fila, 5).getValue();
  console.log('Este es el link: '+link)  //I put logs just to see where does the code was stopping
  var id = link.split('/')[5]
  var protection = SpreadsheetApp.openById(id).getSheets()[0].protect();
  console.log('Se obtuvo la proteccion');
  var me = Session.getEffectiveUser();
  console.log(me)
  protection.addEditor(me);
  protection.removeEditors(protection.getEditors());
  if (protection.canDomainEdit()) {
    protection.setDomainEdit(false);
  }
  console.log('Terminé de modificar la protección')
  protection.addEditor(//add someone);
}

Дело в том, что теперь функция останавливается на строке:

  var protection = SpreadsheetApp.openById(id).getSheets()[0].protect();

Поэтому я попытался выяснить, имеет ли она какое-то отношение к разрешениям или что-то еще, но я являюсь владельцем файла, который я пытаюсь редактировать, странным является то, что защита действительно установлена, но затем выдается исключение: «Ошибка службы: Spradsheets»

Поэтому я попытался изолировать проблему в новой функции, просто пытаясь установить защиту на другом листе

  var protection = SpreadsheetApp.openById(randomFileId).getSheets()[0].protect();

Проблема сохраняется, кто-нибудь знает, как решить эту проблему?

Спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...