Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在与当前文件相同的文件夹中创建google电子表格_Google Apps Script_Google Drive Api - Fatal编程技术网

Google apps script 在与当前文件相同的文件夹中创建google电子表格

Google apps script 在与当前文件相同的文件夹中创建google电子表格,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我有一个google表单脚本,我想在表单所在的文件夹中创建一个电子表格 var thisFileId = form.getId(); var parentFolder = DriveApp.getFolderById(thisFileId) spreadsheet = SpreadsheetApp.create(spreadsheetName); var spreadsheetID = spreadsheet.getId(); var spreasheetFile =

我有一个google表单脚本,我想在表单所在的文件夹中创建一个电子表格

  var thisFileId = form.getId();
  var parentFolder = DriveApp.getFolderById(thisFileId)
  
  spreadsheet = SpreadsheetApp.create(spreadsheetName);
  var spreadsheetID = spreadsheet.getId();
  var spreasheetFile = DriveApp.getFileById(spreadsheetID);
  spreasheetFile.moveTo(parentFolder);
我在最后一行出现错误:

“异常:无效参数:parent.mimeType”


我相信你的目标如下

  • 您希望使用
    form.getId()
    在同一文件夹中创建新的电子表格
修改点:
  • 在脚本中,关于
    form.getId()
    中的变量名
    ,如果
    form
    是Google表单,
    form.getId()
    是Google表单的文件ID。我认为这可能是你的问题的原因
  • 为了将新电子表格与
    表单
    放在同一文件夹中,需要检索
    表单
    的父文件夹
当上述各点反映到脚本中时,它将变成如下所示

修改脚本: 发件人: 致: 注:
  • 似乎当文件夹ID之外的ID用于
    DriveApp.getFolderById(ID)
    时,不会发生错误
参考:

我无法重现您的错误。可以替换
spreasheetFile.moveTo(父文件夹)带有
parentFolder.addFile(spreasheetFile)
只是为了确保我们在同一页。@Marios From
我有一个google表单脚本,我想在与表单相同的文件夹中创建一个电子表格。
,我认为OP脚本中的
表单
可能是google表单。在这种情况下,会发生相同的错误。我认为,当除文件夹ID之外的ID用于
DriveApp.getFolderById(ID)
时,没有出现错误,这也是问题所在。你说文件夹就是表单ID。你是否尝试过直接在脚本中设置文件夹ID?这很有效,谢谢,我认为getFolderById()根据文件Id给出了文件的父文件夹,但它只是根据文件夹Id给出了文件夹,事后看来,这很有意义。哈哈。我发布了一个后续问题,非常感谢您的帮助。
var parentFolder = DriveApp.getFolderById(thisFileId)
var parentFolder = DriveApp.getFileById(thisFileId).getParents().next();