You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script调用folder.getFiles()返回空结果的问题求助

解决Google Apps Script无法读取Drive文件夹文件的问题

核心问题:代码拼写错误

你的代码存在两处大小写/拼写错误,这是导致无法获取文件的直接原因:

  • file.gerName() 应为 file.getName()(方法名拼写错误,少了一个t)
  • sheet.getrange() 应为 sheet.getRange()(Google Apps Script对大小写敏感,Range首字母需大写)

修正后的完整代码

function retrieveFiles() {
  var folderid = '1R07zv6TK9ka_BX--EMucP4pFlqYUsDJH';
  Logger.log(folderid);
  var folder = DriveApp.getFolderById(folderid);
  Logger.log(folder.getName());
  var files = folder.getFiles();
  Logger.log(files);
  var data = [];

  while (files.hasNext()) {
    var file = files.next();
    var fileUrl = 'https://drive.google.com/open?id=' + file.getId();
    data.push([file.getName(), fileUrl]);
  }
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // 新增空数据判断,避免数组越界报错
  if (data.length > 0) {
    sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
  } else {
    Logger.log("未读取到任何文件,请检查文件夹权限或内容");
  }
}

额外排查建议

如果修正后仍无数据返回,检查以下内容:

  • 确认运行脚本的Google账号与拥有文件夹访问权限的账号一致
  • 若为共享文件夹,确保你拥有「查看」或「编辑」权限(仅「评论」权限无法读取文件列表)
  • 若文件夹包含子文件夹,getFiles()仅返回当前目录下的直接文件,如需获取子文件夹内的文件,可使用递归遍历逻辑:
// 递归遍历文件夹及子文件夹的函数
function getAllFiles(folder, data) {
  var files = folder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    var fileUrl = 'https://drive.google.com/open?id=' + file.getId();
    data.push([file.getName(), fileUrl]);
  }
  var subFolders = folder.getFolders();
  while (subFolders.hasNext()) {
    getAllFiles(subFolders.next(), data);
  }
}

// 修改主函数调用递归
function retrieveFiles() {
  var folderid = '1R07zv6TK9ka_BX--EMucP4pFlqYUsDJH';
  var folder = DriveApp.getFolderById(folderid);
  var data = [];
  getAllFiles(folder, data);
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  if (data.length > 0) {
    sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
  } else {
    Logger.log("未读取到任何文件");
  }
}

内容的提问来源于stack exchange,提问作者Shankar Ramani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:15:09