Google Таблицы: Добавление редакторов с помощью скрипта в защищенный лист и диапазоны

#google-apps-script #google-sheets

#google-apps-script #google-таблицы

Вопрос:

Могу ли я спросить, как я могу добавить редакторов с помощью скрипта к разрешениям в защищенных листах и диапазонах? Я пытался использовать protection.addEditors(); , и ему нужно перечислить все адреса электронной почты, верно? Но есть ли простой или другой способ для меня сделать это? У меня есть 90 листов, которые нужно изменять один за другим, если нет другого способа. Адреса электронной почты не совпадают для каждого файла.

Я подумываю об автоматическом получении всех редакторов в опции «Поделиться с людьми и группами» на Google Диске. Возможно ли это сделать?

Делитесь с людьми и группами

Ответ №1:

Проблема:

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

Решение — File.getEditors():

Вы можете получить этот список, получив файл через DriveApp.getFileById (id) и, для каждого File , получить список редакторов через File.getEditors().

Фрагмент кода:

 function addEditors() {
  const spreadsheetIDs = ["spreadsheet_ID_1", "spreadsheet_ID_2", ... etc.];
  spreadsheetIDs.forEach(spreadsheetID => {
    const file = DriveApp.getFileById(spreadsheetID);
    const editors = file.getEditors();
    const spreadsheet = SpreadsheetApp.openById(spreadsheetID);
    spreadsheet.addEditors(editors);
  });
}
 

Комментарии:

1. .getEditors() помогает! Спасибо!