javascript - 异常 : The parameters (String, DriveApp.File) 与 DriveApp.File.makeCopy 的方法签名不匹配

标签 javascript google-apps-script methods parameters google-drive-api

我是 Script 的新手,想知道是否可以获得有关问题的帮助。我目前正在尝试从 Google 表单提交中自动填写 Google 文档。我过去曾在一个小测试中取得成功,但自从第二次尝试使用更大的表格后,我遇到了这个错误:

"Exception: The parameters (String,DriveApp.File) don't match the method signature for DriveApp.File.makeCopy"

我不是很清楚这是在告诉我什么。我所知道的是,我所做的与我上次的小规模测试没有什么不同,所以我正在运行的脚本表面上看起来是可靠的,所以我希望有人能帮助我指出问题所在。这是脚本:

function autoFillFormFromDoc(e) {

  var clientCode = e.values[1];

  var email = e.values[2];

  var warningSigns = e.values[3];

  var internalCopingStrategies = e.values[4];

  var peopleAndSocial = e.values[5];

  var peopleWhoCare = e.values[6];

  var creatingSafety = e.values[7];

  var clientName = e.values[8];

  var date = e.values[9];
  
  var templateFile = DriveApp.getFileById("1Vs8y3eZbyBlef8HlV7v9nhSRvaH39Cg5P0Q5zhpZBA");
  var templateResponseFolder = DriveApp.getFileById("1OxsOwU6rAvohqRqDVOfH_f70kvu30HZp");
  
  var copy = templateFile.makeCopy(clientName, templateResponseFolder);
  
  var doc = DocumentApp.openById(copy.getId());
  
  var body = doc.getBody();
  
  body.replaceText("{{ClientCode}}", clientCode);
  
  body.replaceText("{{Email}}", email);

  body.replaceText("{{WarningSigns}}", warningSigns);

  body.replaceText("{{InternalCopingStrategies}}", internalCopingStrategies);

  body.replaceText("{{PeopleAndSocial}}", peopleAndSocial);

  body.replaceText("{{PeopleWhoCare}}", peopleWhoCare);

  body.replaceText("{{CreatingSafety}}", creatingSafety);

  body.replaceText("{{ClientName}}", clientName);

  body.replaceText("{{Date}}", date);
  
  doc.saveAndClose();
  
}

最佳答案

问题:

File.makeCopy(name, destination)需要两个参数

  • name 类型为string
  • 目的地 类型文件夹

脚本调用类型为 filedestination。因此它出错了

The parameters (String,DriveApp.File) don't match the method signature for DriveApp.File.makeCopy

解决方案:

获取文件夹而不是文件:

var templateResponseFolder = DriveApp.getFolderById("[FOLDER_ID]");

关于javascript - 异常 : The parameters (String, DriveApp.File) 与 DriveApp.File.makeCopy 的方法签名不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63972967/

相关文章:

perl - 为什么 Perl 允许在 unblessed 数据结构上调用 coderefs?

JavaScript 面向对象 : method definition with or without "prototype"

javascript - 我如何判断一个 Javascript 对象是否是一个文件?

javascript - 如何使用 google apps 脚本划掉电子表格的一行(不是删除它!)?

javascript - 循环遍历对象数组并返回某些值的总和

Javascript API GET 请求失败,代码为 404。服务器响应被 chop

javascript - Google Apps 脚本和 Google 日历的 DST 问题

c++ - 错误 LNK2001 : unresolved external symbol "public: double __thiscall

javascript - 如何在 Javascript 中循环访问简单的 JSON 对象

javascript - 将 React 的 shouldComponentUpdate 与 Immutable.js 游标一起使用