Google apps script 使用google脚本复制电子表格,并设置每张工作表的权限

Google apps script 使用google脚本复制电子表格,并设置每张工作表的权限,google-apps-script,spreadsheet,Google Apps Script,Spreadsheet,你能帮我一下吗?在谷歌脚本中真的不可能吗? 我们得到: 电子表格1 sheet1-编辑权限AAA@gmail.com 第2页-编辑权限BBB@gmail.com 然后,我们创建一个名为“电子表格2”的副本,在电子表格1中运行脚本: 我需要以同样的方式保存编辑电子表格2的权限:sheet1用于AAA,sheet2用于BBB 发现:但它在驱动器级别上工作 Tnx求救 另外,这件事可能会有所帮助,但在创建新电子表格副本时如何实施?并授予运行脚本的权限 与所需的编辑器共享复制的文件 通过获取复制的文

你能帮我一下吗?在谷歌脚本中真的不可能吗? 我们得到: 电子表格1

  • sheet1-编辑权限AAA@gmail.com
  • 第2页-编辑权限BBB@gmail.com 然后,我们创建一个名为“电子表格2”的副本,在电子表格1中运行脚本:
我需要以同样的方式保存编辑电子表格2的权限:sheet1用于AAA,sheet2用于BBB

发现:但它在驱动器级别上工作

Tnx求救

另外,这件事可能会有所帮助,但在创建新电子表格副本时如何实施?并授予运行脚本的权限

  • 与所需的编辑器共享复制的文件
  • 通过获取复制的文件
    ID
    ,并使用该文件检索电子表格
  • 使用保护每个工作表不受任何人的影响,但运行脚本和所需编辑器的用户除外
代码示例: 其中
protectSheet
为:

function protectSheet(sheet, editor) {
  var protection = sheet.protect();
  var me = Session.getEffectiveUser();
  protection.addEditor(me);
  protection.removeEditors(protection.getEditors());
  if (protection.canDomainEdit()) {
    protection.setDomainEdit(false);
  }
  protection.addEditor(editor);
}

不是真的@不客气。如果你的问题解决了,请考虑一下。
var newFile = file.makeCopy(name, destination);
newFile.addEditors(["AAA@gmail.com", "BBB@gmail.com"]);
var spreadsheet = SpreadsheetApp.openById(newFile.getId());
var sheet1 = spreadsheet.getSheetByName("Sheet1");
var sheet2 = spreadsheet.getSheetByName("Sheet2");
protectSheet(sheet1, "AAA@gmail.com");
protectSheet(sheet2, "BBB@gmail.com");
function protectSheet(sheet, editor) {
  var protection = sheet.protect();
  var me = Session.getEffectiveUser();
  protection.addEditor(me);
  protection.removeEditors(protection.getEditors());
  if (protection.canDomainEdit()) {
    protection.setDomainEdit(false);
  }
  protection.addEditor(editor);
}