javascript 通过HTML表单扫描Google云端硬盘文件夹中的文件

axr492tv  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(141)

我想一些帮助检查有多少文件在谷歌驱动器文件夹内,然后才允许表单提交。
我这儿有张表格:

我希望当Submit按钮被点击时,一个函数会检查这个GAS文件所在的文件夹的child folder中存在多少文件。
HTML表单GAS在此处链接到此工作表:

检查_文件夹中有多少文件后,我想应用以下if/else语句:
如果_文件夹中的文件超过3,则显示确认pop-up,如果答案为Yes,则在_文件夹中创建任意文件,如果答案为No,则不允许提交表单。
如果_文件夹包含4或更多文件,则显示错误消息并禁止提交表单。
这个HTML表单的代码可以在这里看到,访问电子表格的GAS:
HTML Form - Demonstration

mnemlml8

mnemlml81#

部分解决方案:
我对getLimitFolder()函数做了一些更改,以返回_文件夹中的文件计数。

function getLimitFolder(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var pastapai = DriveApp.getFileById(ss.getId()).getParents();
  var files = [];
  Logger.log(pastapai);
  //var limitfolder = pastapai.next().getFoldersByName("_").next().getId();
  var limitfolder = pastapai.next().getFoldersByName("_").next().getFiles();
  while(limitfolder.hasNext()){
    var file = limitfolder.next();
    files.push([file.getId()]);
  }
  console.log(files.length);
  return files.length;
}

在文件夹_中:

日志:

从这里开始,由于函数现在可以返回_文件夹中的文件计数,您可能需要在HTML文件上创建一个新的模态窗口,以便首先显示消息,并创建一个单独的函数来确定if else语句的条件。

相关问题