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

Google Drive复制文件报错:找不到makeCopy(string,string)方法,如何指定目标文件夹?

修复Google Apps Script中makeCopy方法的错误

问题根源

你碰到的Cannot find method makeCopy(string,string)错误,核心原因是**makeCopy()方法的参数用法不对**:当需要指定目标文件夹时,第二个参数必须传入Folder对象,而不是直接传FolderID字符串。

具体修复步骤

  1. 通过FolderID获取目标文件夹对象:用DriveApp.getFolderById()方法,把你的FolderID传入,得到对应的Folder实例。
  2. 正确调用makeCopy方法:第一个参数填副本的名称(字符串),第二个参数传刚才获取到的Folder对象。

修改后的代码示例

结合你的函数逻辑,调整后的代码大概是这样:

function duplicateTemplateQuality(){
  /*** Copia la plantilla de Calidad a la carpeta actual / Copy template to current folder ***/
  // 获取模板文件(这里假设你已经有template变量,比如通过文件ID获取)
  const template = DriveApp.getFileById("你的模板文件ID");
  // 自定义副本名称(可根据你的需求调整)
  const newCopyName = "Calidad副本-" + new Date().toLocaleString();
  
  // 你输入的目标FolderID
  const targetFolderId = "你的目标FolderID";
  let targetFolder;

  if (targetFolderId) {
    // 如果输入了FolderID,获取对应的文件夹对象
    targetFolder = DriveApp.getFolderById(targetFolderId);
  } else {
    // 如果留空,使用模板所在的文件夹
    targetFolder = template.getParents().next();
  }

  // 正确调用makeCopy:名称 + Folder对象
  const copiedFile = template.makeCopy(newCopyName, targetFolder);
  
  // 后续逻辑(比如打印副本链接等)
  Logger.log("副本已创建,链接:" + copiedFile.getUrl());
}

关键注意点

  • 确保脚本有目标文件夹的访问权限:如果目标文件夹是共享文件夹,要确认当前账号有编辑权限,否则会触发权限错误。
  • 当targetFolderId为空时,代码会自动 fallback 到模板所在文件夹,和你之前的正常逻辑保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:43:26