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

Next.js连接Google Sheets作为数据库时已配置.env.local仍提示环境变量错误

排查解决步骤

1. 修正SPREADSHEET_ID配置(最高概率)

你当前.env.local里的SPREADSHEET_ID填的是完整的谷歌表格访问链接,而Google Sheets API要求仅传入表格ID值,即链接中d/和/edit之间的字符串。你可以直接将该项修改为:

SPREADSHEET_ID=1MO8RLXxYN3n_Zp9YTILeCk28T4ueqDba3OjIuMULpMU

2. 验证环境变量加载逻辑

  • 确认.env.local文件存放在项目根目录,和package.json文件同级,不要放在pages、api等子目录下
  • 每次修改完.env.local配置后,必须手动重启Next.js开发服务,Next.js不会热重载环境变量配置,重启后配置才会生效
  • 你可以直接查看终端中console.log(process.env.SPREADSHEET_ID)的输出,如果输出为undefined说明环境变量未正常加载

3. 校验私钥与权限配置

  • 谷歌服务账号私钥开头为-----BEGIN PRIVATE KEY-----、结尾为-----END PRIVATE KEY-----,复制粘贴到.env.local时不要丢失前后缀和中间的换行标识,建议将私钥整段用双引号包裹避免转义问题
  • 确认你配置的GOOGLE_SHEETS_CLIENT_EMAIL对应的服务账号,已经被添加为目标谷歌表格的协作者,权限至少设置为「查看者」,否则API会因权限不足被拦截

4. 查看具体报错信息

你当前在getDataFromSheets方法中已经捕获了异常并打印,直接查看终端的错误日志即可定位具体问题:

  • 报错404:说明SPREADSHEET_ID配置错误
  • 报错403:说明服务账号没有表格访问权限,或者私钥配置错误
  • 报错参数缺失:说明对应环境变量未成功读取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:06:01