Google apps script 如何解决google应用程序脚本超时问题

Google apps script 如何解决google应用程序脚本超时问题,google-apps-script,Google Apps Script,我的谷歌应用程序脚本在特定时间后停止工作。以下代码更改文件权限。在我的文件夹中有大约10K个文件。当我运行脚本后,更改1~2K文件共享权限脚本停止工作。有没有办法解决这个问题 function myFunction() { var folderId = "ID"; var files = DriveApp.getFolderById(folderId).getFiles(); var result = []; while (files.hasNext()) { var

我的谷歌应用程序脚本在特定时间后停止工作。以下代码更改文件权限。在我的文件夹中有大约10K个文件。当我运行脚本后,更改1~2K文件共享权限脚本停止工作。有没有办法解决这个问题

function myFunction() {
  var folderId = "ID";
  var files = DriveApp.getFolderById(folderId).getFiles();
  var result = [];
  while (files.hasNext()) {
      var file = files.next();
      file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
      var temp = {
        file_name: file.getName(),
        url: "http://drive.google.com/uc?export=view&id=" + file.getId(),
      };
      result.push(temp);
  };

}

有几种解决方法,从升级帐户到授予更长超时的访问权限,您还可以使脚本使用,并在超时之前存储迭代状态,然后使用存储在缓存中的此值再次运行脚本

尽管如此,所有这些都可能与您试图实现的目标有很大关系:驱动器上的权限具有继承性。 这是什么意思?这意味着,如果更改任何文件夹上的权限设置,将覆盖该文件夹上每个文件的权限

总之,您确实不需要对所有文件进行任何迭代,更改该文件夹的权限,就完成了

用于更改文件夹权限及其包含的所有文件的工作代码:

函数myFunction(){
var folder=DriveApp.getFolderById(“您的文件夹ID”);
folder.setSharing(DriveApp.Access.anywhere_与_链接,DriveApp.Permission.VIEW);
}

这是可行的,但由于文件夹中有大量文件,传播可能需要一些时间,最多需要几个小时,请耐心等待,明天再检查。

您应该拆分它,因为文件夹工作非常缓慢。在最大执行时间为6分钟的情况下,您无法处理10K文件…我更改了文件夹权限,但它不会覆盖文件共享权限。感谢您提供的代码,该代码工作正常。但是,如果手动更改特定文件的权限,则不会覆盖文件夹权限。反正我猜我会手动移动一组文件,可能是500个文件,然后运行脚本,以避免脚本超时问题。再次感谢你的帮助。