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

将Excel导入固定Google Sheet时遇文件未找到错误求助

解决Google Apps Script中Drive.Files.update的"File not found"错误

问题背景

需要将ExcelToImport.xlsx文件导入到已创建的UpdatedGSheet.gsheet中,已添加Drive API服务并编写脚本,但运行时抛出错误:

GoogleJsonResponseException: API call to drive.files.update failed with error: File not found: 1IrfZpQhXvlyK5HNSwgKgXYyOB_____Dj1DrRsJlPVp

错误原因分析

  1. Spreadsheet ID不匹配:错误信息中的ID比脚本里定义的1IrfZpQhXvlyK5HNSwgKgXYyOB_____Dj1DrRsJlPVpE少了末尾的E,说明ID复制不完整或存在输入错误。
  2. 权限缺失:运行脚本的Google账号没有访问目标表格的权限,无法通过API定位到该文件。
  3. 授权范围不足:虽然启用了Drive API,但脚本的授权流程未获取足够的Drive访问权限。

解决方案

1. 修正Spreadsheet ID

打开UpdatedGSheet.gsheet的URL,复制d/与/edit之间的完整字符串(这就是表格ID),确保完全替换脚本中的spreadsheetId值,不要遗漏或多输入字符。

2. 验证目标表格权限

用运行脚本的账号打开UpdatedGSheet.gsheet,确认能正常编辑。如果无法访问,联系表格所有者授予编辑权限。

3. 重新授权脚本

关闭脚本编辑器后重新打开,运行myFunction并按照提示完成授权流程,确保授权弹窗中允许脚本访问Drive相关权限。

4. 可选:添加前置验证代码

在脚本开头加入文件存在性验证,提前排查问题:

function myFunction() {
  const xlsxFileName = "ExcelToImport.xlsx";
  const spreadsheetId = "1IrfZpQhXvlyK5HNSwgKgXYyOB_____Dj1DrRsJlPVpE";
  
  // 验证目标表格是否可访问
  try {
    DriveApp.getFileById(spreadsheetId);
  } catch (e) {
    throw new Error("目标表格不存在或无权限:" + e.message);
  }
  
  const xlsx = DriveApp.getFilesByName(xlsxFileName);
  if (!xlsx.hasNext()) throw new Error("未找到Excel文件。");
  Drive.Files.update({mimeType: MimeType.GOOGLE_SHEETS}, spreadsheetId, xlsx.next().getBlob());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:40:23