Как автоматически изменить владельца листа google при создании копии документа - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь установить права владельца для документа после его копирования. Компания, в которой я работаю, имеет контрольный документ, который инициируется для мониторинга задач. У нас есть мастер-документ, и когда сотруднику необходимо создать собственный контрольный список, он создает копию мастер-документа и затем редактирует копию.

Проблема в том, что когда это происходит, они автоматически становятся владельцем файла и могут редактировать любые защищенные поля. Я хотел бы установить onOpen (), чтобы при копировании контрольного списка они удалялись из статуса владельца, а я заменял их.

Я пытался использовать setUser, но не похоже, что это допустимый метод.

function onOpen() {

  var ss = SpreadsheetApp.getActiveSpreadsheet().getOwner();

  var owner = ss.setOwner("email")

}

Я получаю следующее:

TypeError: Невозможно вызватьметод "setOwner" нулевой. (строка 5, файл «Установить владельца»).

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

1 Ответ

1 голос
/ 18 октября 2019

Метод setOwner является частью DriveApp.

Попробуйте:

function setOwner(){

  var emailAddress = 'user@domain.com';
  var id = SpreadsheetApp.getActiveSpreadsheet().getId();
  var file = DriveApp.getFileById(id).setOwner(emailAddress);
}

Документация

Редактировать заметку: Вам также необходимо включить расширенные службы Google - https://developers.google.com/apps-script/guides/services/advanced#enabling_advanced_services

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