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

Java调用Google Sheets API编辑表格时遇403权限不足错误求助

解决Google Sheets API "Request had insufficient authentication scopes" 403错误

这个错误的核心原因是你的应用当前使用的OAuth2令牌缓存了旧的、权限不足的范围,或者代码中指定的范围确实不足以支持你要执行的写入操作。下面是一步步的解决方法:

1. 确认权限范围是否正确

你的代码中已经指定了正确的读写范围:

private static final List<String> SCOPES = Collections.singletonList(SheetsScopes.SPREADSHEETS);

SheetsScopes.SPREADSHEETS 是Google Sheets API的全读写权限范围,完全支持你执行的append写入操作,所以范围本身没问题。

2. 删除旧的令牌缓存

当你第一次运行代码时,授权后生成的令牌会存在tokens目录中(对应代码里的TOKENS_DIRECTORY_PATH)。如果之前你用的是只读范围(比如SheetsScopes.SPREADSHEETS_READONLY),或者令牌缓存了错误的权限,即使你现在改了范围,应用依然会使用旧令牌,导致权限不足。

操作步骤:

  • 找到项目根目录下的tokens文件夹,直接删除它
  • 确保删除彻底,不要残留任何文件

3. 重新运行代码并授权

删除旧令牌后,再次运行你的代码,会自动弹出浏览器要求你重新授权。此时授权页面会显示应用请求的是Google表格的读写权限,点击允许即可。

授权完成后,新的令牌会重新生成在tokens目录中,你的代码就能正常执行写入操作了。

额外检查项

如果以上步骤还没解决问题,可以检查:

  • 确认你的credentials.json文件是从Google Cloud Console正确下载的,并且对应的项目已经启用了Google Sheets API
  • 确认你要编辑的表格确实开启了链接共享(你已经提到开启了,但可以再确认共享权限是“任何人可编辑”或至少授权了你的Google账号)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:32:16