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

React(JavaScript)中刷新Google Calendar API Access Token遇授权错误求助

解决Google Calendar API刷新Access Token时的「unauthorized_client」错误

核心原因

你当前使用的refresh token是通过OAuth Playground默认的Google客户端凭证生成的,该token与Playground的客户端ID绑定,无法用你自己的客户端ID/Secret进行刷新。只有用你自己的客户端凭证生成的refresh token,才能用对应的凭证完成刷新操作。

正确操作步骤

1. 配置OAuth Playground使用你的自定义凭证

  • 打开OAuth Playground,点击右上角的齿轮图标进入设置页面
  • 勾选「Use your own OAuth credentials」选项
  • 填入你在Google Cloud Console中生成的Client ID和Client Secret
  • 保存设置

2. 重新获取授权码与绑定的refresh token

  • 返回Playground主页面,重新选择calendar和calendar.events权限
  • 点击「Authorize APIs」,完成账号授权流程
  • 点击「Exchange authorization code for tokens」,获取新的access token和refresh token——这个新的refresh token才与你的自定义客户端凭证绑定

3. 验证重定向URI配置

  • 登录Google Cloud Console,找到你的OAuth客户端
  • 确认https://developers.google.com/oauthplayground已添加到「已授权的重定向URI」列表中
  • 保存配置后等待5-10分钟(Google配置生效存在延迟)

额外排查点

  • 检查Client ID和Client Secret是否完全匹配,注意大小写、特殊字符(如连字符、下划线)
  • 若使用组织域账号,确认域管理员未限制第三方客户端获取刷新令牌
  • 确保你的OAuth客户端类型为「Web应用」(Playground的重定向仅支持Web应用类型的客户端)

错误请求对比说明

你提供的两个请求中,第一个使用的是Playground默认客户端ID(407408718192.apps.googleusercontent.com),对应的refresh token是用该客户端生成的,因此能正常刷新;第二个使用你自己的客户端ID,但refresh token仍属于Playground的客户端,凭证不匹配导致返回unauthorized_client错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:03:30