Как защитить диапазон от создателя / владельца Google Sheet с помощью Google Apps Script?

Я разработал сценарий приложения Google, в котором я создаю новый лист Google на основе шаблона. После копирования листа Google мы меняем владельца с помощью метода setOwner на указанный адрес электронной почты. Требуется защитить диапазон, поэтому мы используем метод getRange для выбора диапазона, а затем вызываем метод protect () и setDescription для отображения описания защищенного диапазона.

Проблема в том, что мы не хотим, чтобы у человека, запускающего этот скрипт, был доступ к редактированию. Поскольку он / она является создателем, мы попытались сменить владельца и также использовали removeEditor, но, похоже, это не сработало.

Мысли: можно имитировать копию файла, запущенную другим пользователем, так что человек, который запускает сценарий, не имеет доступа.


person Chetan Sachdev    schedule 22.06.2018    source источник
comment
Да, я использую DriveApp для создания копии файла шаблона.   -  person Chetan Sachdev    schedule 22.06.2018


Ответы (1)


Невозможно сделать защиту таким образом, чтобы владелец электронной таблицы не мог редактировать защищенный лист / диапазон.

Имейте в виду, что только владельцы и редакторы могут запускать скрипты, но они не могут удалить себя как редакторы, а редактор не может удалить владельца.

Из https://developers.google.com/apps-script/reference/spreadsheet/protection#removeeditoremailaddress

Ни владелец таблицы, ни текущий пользователь не могут быть удалены.

person Rubén    schedule 22.06.2018