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

JS调用Google Sheets API报gapi is not defined错误怎么解决

问题产生原因

  • 你引入的Google API脚本添加了async defer属性,会异步加载不阻塞页面解析,你在内联脚本末尾直接同步调用listMajors()时,api.js还未加载完成,全局gapi对象尚未被初始化,因此触发未定义错误。
  • 即便gapi加载完成,也需要先完成客户端初始化、用户授权流程后,才能调用Sheets API接口,提前调用本身逻辑也不成立。

修复方法

  • 首先删除内联脚本末尾你额外添加的独立listMajors()调用,原有代码逻辑中已经在updateSigninStatus函数里判断用户登录完成后自动触发listMajors执行,不需要手动额外调用。
  • 确认你已经在Google Cloud控制台正确配置了OAuth客户端ID的授权重定向域名,同时填入正确的API_KEY、CLIENT_ID和目标表格的spreadsheetId即可正常运行。
  • 附加优化:你当前的取值范围是Class Data!A1:A1仅获取A1单元格,原有示例代码中的循环打印row[0] + ', ' + row[4]逻辑可以简化为直接取range.values[0][0]输出,避免索引越界问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:15:03