You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Apps Script为复制的主Google Spreadsheet添加对应编辑器?

实现Google Sheets副本的批量编辑器分配

完全可行,只需在现有循环逻辑中添加权限分配代码即可。DriveApp的File对象提供了addEditor()方法,能直接为指定邮箱添加编辑权限。

修改后的完整代码

function testCreaSpreadsheet() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    // 一次性获取所有数据,减少服务调用次数提升效率
    var data = sheet.getRange("A2:B11").getValues();
    var ssToCopy = DriveApp.getFileById("XXXXX");
    var folder = DriveApp.getFolderById("YYYYY");
    
    for (var i = 0; i < data.length; i++) {    
      var copyName = "Foglio Offerte - " + data[i][0];
      var editorEmail = data[i][1];
      // 跳过空行避免报错
      if (!copyName || !editorEmail) continue;
      
      var fileCopiato = ssToCopy.makeCopy(copyName, folder);
      // 为副本添加对应编辑器
      fileCopiato.addEditor(editorEmail);
    }
}

关键细节说明

  • 改为一次性读取A、B两列数据,相比单独读取两列,能减少对Spreadsheet服务的调用次数,提升脚本运行效率
  • 循环中对应取出每行的副本名称和编辑器邮箱,调用addEditor()完成权限分配
  • 增加空行判断逻辑,避免表格中存在空数据时触发错误
  • 若需为单个副本添加多个编辑器,可使用addEditors()方法并传入邮箱数组

内容的提问来源于stack exchange,提问作者Antonello Casillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:45:42