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

按Google Sheets API PHP快速入门操作报unauthorized_client错误如何解决

PHP Fatal error: Uncaught Google\Service\Exception: { "error": "unauthorized_client", "error_description": "Unauthorized" } in /usr/local/var/www/web/vendor/google/apiclient/src/Http/REST.php:128

错误产生原因
  • 凭据文件无效:代码读取的credentials.json和谷歌云控制台中对应项目的OAuth 2.0客户端信息不匹配,可能是文件下载错误、内容被篡改、路径配置错误导致。
  • 应用类型不匹配:创建OAuth 2.0客户端ID时选错了应用类型,Google Sheets API PHP快速启动要求选择桌面应用类型,选择Web应用、移动应用等其他类型都会触发该错误。
  • Google Sheets API未启用:项目未开启对应API接口权限,导致身份校验不通过。
  • 作用域配置错误:代码中设置的API权限作用域和申请的权限不匹配,或者使用了需要额外审核的敏感作用域却未完成验证流程。
  • 已保存的授权令牌失效:之前生成的token.json对应的客户端凭据已被重置、项目权限被调整,旧令牌无法通过校验。
排查修复步骤
  • 校验凭据配置:确认代码中setAuthConfig方法传入的路径指向最新下载的credentials.json,打开文件核对client_id、client_secret参数和控制台中对应客户端的信息完全一致。
  • 确认客户端应用类型:在谷歌云控制台「API和服务-凭据」页面,检查你使用的OAuth 2.0客户端ID的应用类型为桌面应用,如果类型错误,删除现有凭据重新创建桌面应用类型的客户端,下载新的credentials.json替换旧文件。
  • 确认API已启用:在控制台「API和服务-启用的API和服务」页面,搜索Google Sheets API,确认其状态为已启用,未启用则先开启后等待几分钟再测试。
  • 清理旧授权令牌:删除项目目录下已生成的token.json文件,重新运行代码触发新的授权流程,完成授权生成新令牌后再测试。
  • 核对权限作用域:确认代码中配置的作用域符合你的使用需求,仅读取表格使用Google\Service\Sheets::SPREADSHEETS_READONLY,需要修改表格使用Google\Service\Sheets::SPREADSHEETS即可,不要添加未用到的额外作用域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:18:04