使用HTML表单提交数据到Google Sheet返回Exception异常如何解决
问题排查步骤
你遇到的报错出在表格读取权限/ID读取环节,可按以下顺序排查:
- 确认已手动运行过一次
setup函数
脚本中的目标表格ID通过setup函数写入脚本属性存储,首次使用必须在App Script编辑界面选中setup函数点击运行,完成授权后才会写入正确的表格ID。未运行setup时SCRIPT_PROP.getProperty("key")返回空值,会直接触发openById调用异常。
你可以在console.log("running4");后新增一行console.log(SCRIPT_PROP.getProperty("key"));,验证输出的ID是否和目标表格URL中d/与/edit之间的字符串一致。 - 确认Web应用部署配置符合要求
部署为Web应用时必须满足两个配置:- 执行身份选择「我(脚本所有者的Google账号)」,如果选择「以访问用户身份执行」,匿名提交的请求没有权限访问你的表格
- 访问权限选择「任何人,甚至匿名用户」,限制访问范围会导致外部提交请求被拦截
注意:每次修改代码、运行setup后都需要新建正式部署,使用旧部署链接/测试部署链接不会生效新配置
- 调整注解和调用逻辑(可选)
代码顶部的/** @OnlyCurrentDoc */注解会限制脚本仅能访问当前绑定的表格,如果你需要访问非绑定表格,直接删除这行注解即可。如果脚本和目标表格是绑定关系,也可以把报错行替换为var doc = SpreadsheetApp.getActiveSpreadsheet();,绕开ID读取逻辑避免异常。 - 确认授权完整
首次运行setup时需要同意所有权限申请,如果拒绝了表格访问权限,可以在App Script的项目设置页面重新授予权限。
内容的提问来源于stack exchange,提问作者jmona789
相关产品推荐
相关产品推荐

