复制谷歌应用脚本文件,使用... 谷歌应用脚本到teamDrive中。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制谷歌应用脚本文件,使用... 谷歌应用脚本到teamDrive中。相关的知识,希望对你有一定的参考价值。

我试图使用应用程序脚本将谷歌应用程序脚本文件的副本放在共享驱动器中。

我的代码看起来像这样。

function copyFileToSharedDrive()

var sharedDriveId = "sharedriveidcomeshere";
var sharedDrive = DriveApp.getFolderById(sharedDriveId);
var appsScriptFileId = "appsscriptfileidcomeshere";
DriveApp.getFileById(appsScriptFileId).makeCopy(sharedDrive).setName("This is a copy of the original apps script file");

但结果是,应用程序脚本文件的副本,但它在我的谷歌驱动器的根目录下,而不是在共享驱动器中。

如果我用Spreadsheet、Google Doc或Slides做完全相同的事情,代码就能正常工作。

我还尝试了高级谷歌服务,并使用驱动器API。没有运气... 文件仍然在执行代码的用户的根目录下创建。

  Drive.Files.copy(
    title: "This is a copy of the appsscript file", parents: [id: sharedDriveId],
    "appsScriptFileId",
    supportsAllDrives: true
  );

有什么帮助吗?

答案

这个答案怎么样?

修改要点。

  • 遗憾的是,谷歌应用脚本文件不能直接复制到共享驱动器上,使用 makeCopy. 该文件被复制到MyDrive的根盘。我觉得这可能是一个bug。

那么在这种情况下,使用Drive API如何?当你的脚本被修改后,就会变成如下的样子。

修改后的脚本。

在你运行这个脚本之前 请在高级谷歌服务中启用Drive API.

function copyFileToSharedDrive()
  var sharedDriveId = "sharedriveidcomeshere";
  var appsScriptFileId = "appsscriptfileidcomeshere";
  Drive.Files.copy(
    title: "This is a copy of the original apps script file", parents: [id: sharedDriveId],
    appsScriptFileId,
    supportsAllDrives: true
  );

参考资料:

已添加。

  • 你想复制一个Google Apps脚本文件到共享驱动器的指定文件夹。

那么,下面的脚本如何呢?在这个脚本中,使用了以下流程。

  1. 复制Google Apps Script文件。此时,该文件被创建到根目录下。
  2. 使用Drive API的Files.patch方法将GAS文件移动到共享驱动器中的特定文件夹。

示例脚本。

function copyFileToSharedDrive()
  var destinationFolderId = "###";  // Please set the destination folder ID of shared Drive.
  var appsScriptFileId = "###";  // Please set the GAS script ID.

  var file = DriveApp.getFileById(appsScriptFileId)
  var copiedFile = file.makeCopy().setName(file.getName()).getId();
  Drive.Files.patch(
    title: "This is a copy of the original apps script file",
    copiedFile,
    removeParents: "root", addParents: destinationFolderId, supportsAllDrives: true
  );

注意:

  • 关于 supportsAllDrives, 公文 说如下。

    废弃 - 请求的应用程序是否同时支持 "我的驱动器 "和共享驱动器。此参数只在 2020 年 6 月 1 日之前有效。之后,所有的应用程序都会被假定为支持共享驱动器。

    • 由此,从2020年6月1日开始,即便是在 supportsAllDrives 不使用,可以使用共享驱动器。

参考。

以上是关于复制谷歌应用脚本文件,使用... 谷歌应用脚本到teamDrive中。的主要内容,如果未能解决你的问题,请参考以下文章

谷歌应用脚​​本超时 ~ 5 分钟?

copyto谷歌应用程序脚本没有工作表名称中的“复制”

将谷歌应用程序脚本移动到 v8 文件上传停止从侧边栏工作

解决谷歌浏览器无法从该网站添加应用拓展程序和用户脚本

谷歌应用程序脚本。基于条件循环的单元格项目列表

如何使用谷歌应用脚​​本将视频从谷歌驱动器上传到 YouTube?