Google Apps Script突发NOT_FOUND错误及脚本锁定问题求助
问题诊断与解决方案
核心症状
- 绑定到Google表格的4个脚本全部无法运行,报错:
We're sorry, a server error occurred while reading from storage. Error code NOT_FOUND - 无法编辑、保存现有脚本,新建测试脚本失败,无法在编辑器中显示
appsscript.json清单文件 - 错误时间线:
6月28日出现
Exception: Service Spreadsheets failed while accessing document with id错误,之后正常运行两周;7月14日出现Exceeded maximum execution time错误并反复触发,几天后转为持续的服务器错误和NOT_FOUND错误;7月24日起完全无法编辑、修复或测试脚本 - 复制原容器表格及绑定脚本后问题仍存在,但将原脚本内容复制到空白表格的绑定脚本中,再关联复制的容器表格可正常运行
可能成因
- 绑定脚本的服务器端存储损坏:前期的超时错误可能触发Google Apps Script服务器的资源锁定或文件元数据损坏,导致后续无法读取脚本存储
- 容器表格与绑定脚本的关联元数据异常:服务器无法正确识别表格与脚本的绑定关系,进而无法读取脚本资源
- 云端绑定资源永久性故障:持续时间过长,排除临时服务器波动,更倾向于绑定资源的不可逆损坏
可行解决方案
- 脚本迁移:采用已验证有效的方式,将原脚本内容复制到全新空白表格的绑定脚本中,再关联目标容器表格(已确认可正常运行)
- 表格内容迁移:若需保留原表格结构,可将原表格的所有内容复制到新表格,再绑定新的脚本文件
- 官方支持求助:如果使用付费Google Workspace账号,提交表格ID和脚本ID给Google支持团队,请求排查服务器端的存储异常
预防措施
- 脚本版本控制:定期导出脚本文件(或用Git管理),为关键脚本创建版本快照,避免绑定脚本损坏后无法恢复
- 优化脚本避免超时:
- 将长任务拆分为多个短任务,通过时间驱动触发器分批执行
- 使用
SpreadsheetApp.flush()及时提交中间更改,减少资源占用时间 - 批量处理表格读写操作,减少API调用次数
- 定期备份:设置自动备份规则,每周将容器表格复制到独立的备份文件夹,同时备份脚本内容
- 错误监控:保留脚本错误通知,一旦出现文档访问失败、超时等异常,及时排查优化,避免问题积累
内容的提问来源于stack exchange,提问作者Roland Miller
相关产品推荐
相关产品推荐

