Google 驱动服务。将文件复制到组驱动器文件夹。文件为空
Google Drive Service. Copied file to group drive folder. File is blank
当我 运行 a google apps script
。当我 运行 脚本时,会生成一个新的输出文件并将其发送到具有特定标签的文件夹。目标是将输出文件添加到组驱动器中的特定文件夹。有关我的问题的脚本和文件也都位于组驱动器上。
当我运行脚本时会发生这种情况。
在我的个人 Google 驱动器中创建了一个文件,因为我有一个与组驱动器上的文件夹同名的文件夹(这是我的脚本测试环境) .我驱动器上的这个文件在 Google Sheet 中包含所有需要的输出。一个文件也被添加到我的驱动器的根目录,但脚本现在将它从根目录中删除。
组驱动器上创建了一个文件,但它完全是空的。文件命名正确,但实际电子表格中没有任何内容。
这是处理输出文件的脚本:
var sourceFilename = ss.getName();
var splitSourceFilename = sourceFilename.split("LMS");
var targetFilename = splitSourceFilename[0] + "Allowed_Layers_Vx";
// move the new spreadsheet to Allowed Layers Lists folder
var folders = DriveApp.getFoldersByName("Allowed Layers Lists");
while (folders.hasNext()) {
var folder = folders.next();
var ssNew = SpreadsheetApp.create(targetFilename);
var copyFile = DriveApp.getFileById(ssNew.getId());
folder.addFile(copyFile);
DriveApp.getRootFolder().removeFile(copyFile);
}
关于群组驱动器的一些其他信息:
- 我没有创建群组驱动器。分享给我
- 我是文件和脚本所在文件夹的所有者。
- 我也是这些文件夹中所有文件和脚本的所有者。
- 我对该组驱动器的每个级别都有编辑权限。
上面的脚本中没有任何内容实际执行 "file copy"。它只是用 SpreadsheetApp.create(targetFilename)
创建新的空文件并将其添加到文件夹中。
要复制 Google Sheet,您可以参考 Google App Script: How do I make copy of spreadsheet and save it to particular folder?
中的答案
在数据处理发生后,我最终将该代码块移到了脚本的末尾。出于某种原因,在我自己的驱动器中,当我将文件添加到另一个文件夹时并不重要,脚本仍会更新该文件的所有实例。但是,在组驱动器中,只有我自己的根目录中的文件被更新(直到我将该代码块移动到脚本的末尾)。
欢迎解释为什么会发生这种情况。
当我 运行 a google apps script
。当我 运行 脚本时,会生成一个新的输出文件并将其发送到具有特定标签的文件夹。目标是将输出文件添加到组驱动器中的特定文件夹。有关我的问题的脚本和文件也都位于组驱动器上。
当我运行脚本时会发生这种情况。
在我的个人 Google 驱动器中创建了一个文件,因为我有一个与组驱动器上的文件夹同名的文件夹(这是我的脚本测试环境) .我驱动器上的这个文件在 Google Sheet 中包含所有需要的输出。一个文件也被添加到我的驱动器的根目录,但脚本现在将它从根目录中删除。
组驱动器上创建了一个文件,但它完全是空的。文件命名正确,但实际电子表格中没有任何内容。
这是处理输出文件的脚本:
var sourceFilename = ss.getName();
var splitSourceFilename = sourceFilename.split("LMS");
var targetFilename = splitSourceFilename[0] + "Allowed_Layers_Vx";
// move the new spreadsheet to Allowed Layers Lists folder
var folders = DriveApp.getFoldersByName("Allowed Layers Lists");
while (folders.hasNext()) {
var folder = folders.next();
var ssNew = SpreadsheetApp.create(targetFilename);
var copyFile = DriveApp.getFileById(ssNew.getId());
folder.addFile(copyFile);
DriveApp.getRootFolder().removeFile(copyFile);
}
关于群组驱动器的一些其他信息:
- 我没有创建群组驱动器。分享给我
- 我是文件和脚本所在文件夹的所有者。
- 我也是这些文件夹中所有文件和脚本的所有者。
- 我对该组驱动器的每个级别都有编辑权限。
上面的脚本中没有任何内容实际执行 "file copy"。它只是用 SpreadsheetApp.create(targetFilename)
创建新的空文件并将其添加到文件夹中。
要复制 Google Sheet,您可以参考 Google App Script: How do I make copy of spreadsheet and save it to particular folder?
中的答案在数据处理发生后,我最终将该代码块移到了脚本的末尾。出于某种原因,在我自己的驱动器中,当我将文件添加到另一个文件夹时并不重要,脚本仍会更新该文件的所有实例。但是,在组驱动器中,只有我自己的根目录中的文件被更新(直到我将该代码块移动到脚本的末尾)。
欢迎解释为什么会发生这种情况。