Claude 的 Google Drive 连接器陷入反复授权死循环 —— 排查与修复

Claude 接 Google Drive 之后,每问一次都让你重新授权 —— 通常是 cookie 范围、OAuth refresh token 或 Workspace 策略的问题。本文给出完整诊断路径。

你给 Claude 接上了 Google Drive。Claude 读了一个文件。你问第二个问题,Claude 弹出”我需要 Google Drive 的访问权限”,再次跳到 OAuth 授权页。你点了确认。下一个问题又来。有时候能正常用十分钟,然后授权框又冒出来。最离谱的是,连接器状态栏始终显示”已连接”。这不是 Claude 把 token 弄丢了 —— 而是 OAuth refresh token 没能成功刷新,或者 Workspace 管理员策略在每次调用后吊销授权,或者浏览器拦了第三方 cookie,或者授权时拿到的 scope 跟 Claude 运行时请求的 scope 不一致。

常见原因

按实战中出现频率排序。

Claude 的连接器流程会加载一个 Google OAuth iframe。如果浏览器禁了第三方 cookie(Safari 默认就是、Chrome 严格反追踪模式、Firefox 增强反追踪),OAuth session cookie 就无法保留,每次 API 调用都被识别为”无 session”,于是触发重新授权。

如何识别:在 chrome://settings/cookies 把策略改成”允许所有 cookie”,新开窗口走同一流程 —— 如果循环消失,就是这个原因。

2. Workspace 管理员要求每个应用反复同意授权

很多 Google Workspace 管理员会启用一条策略:每晚或闲置一段时间后,自动吊销所有第三方应用的 token。Claude 一调用就被告知 token 过期,于是再问一遍。用户体感:早上能用,下午就坏。

如何识别:打开 myaccount.google.com/security → “可访问您账号的第三方应用” → 看 Claude 的”上次访问”时间戳。如果时间戳明明比你刚才点过的授权晚,但循环还在,基本就是策略在抢着吊销。

3. 当初的授权没要 offline access(缺 access_type=offline)

如果首次 OAuth 授权没请求 offline access,Claude 拿到的只有 access token,没有 refresh token。access token 一小时过期,过期之后 Claude 没东西可刷,只能再走一次完整授权。

如何识别:循环大约在每次授权后 60 分钟整左右触发。

4. 授权 scope 跟运行时调用对不上

最初授权的 scope 是 drive.readonly。后来你让 Claude 帮你总结一个还要 drive.metadata.readonly 才能读的文档,或者去访问要 drive.full 才能进的共享盘。API 返 403,Claude 把 403 当作授权失败,弹出重新授权。

如何识别:循环只在某些文件上发生 —— 个人盘文件没事,共享盘 / 管理员限制的文件就触发。

5. 浏览器里登了多个 Google 账号

你的浏览器同时登了两个 Google 账号。Claude 的 iframe 默认用账号 A。但你想问的文件在账号 B 下。API 返”找不到文件”或”无权限”,Claude 当作授权失败再问一次。

如何识别:循环只发生在特定文件上,不是所有文件。问题文件一般在你的副账号下。

6. Claude 后端的连接器缓存损坏

这种比较少但确实存在。Claude 后端的连接器记录指向一个已经被吊销的 token。Drive 设置页显示”已连接”,但每次调用都失败。修复方法是彻底断开重连;只重连不彻底清不会清掉那条坏记录。

如何识别:即便在干净的隐身窗口、允许所有 cookie、只登一个账号的情况下,循环依然存在。

排查前的准备

  • 记下每次授权成功后,过多久循环回来。1 分钟内、约 60 分钟、第二天,分别指向不同原因。
  • 确认你用的是个人 Google 账号还是 Workspace 账号 —— Workspace 多一个变量:管理员策略。
  • 列出具体哪些文件会触发循环 —— 个别文件还是所有文件,是关键线索。
  • 如果你有 Workspace 管理员,确认贵司是否配置了”第三方 token 策略”。

需要收集的信息

  • 触发重新授权时,Claude 显示的精确提示文本。
  • 授权成功到循环复现之间的时间间隔。
  • 浏览器、浏览器版本、cookie / 反追踪设置。
  • 当前会话登录了几个 Google 账号。
  • 出问题的文件是在个人盘、共享盘,还是别人账号下的。
  • myaccount.google.com/security → 第三方应用 → Claude 那一行的截图。

一步步修复

按 ROI 排序,便宜的检查在前。

第 1 步:用全新的 Chrome 个人配置文件测一遍

最靠谱的诊断手段:

1. 新建一个 Chrome 个人配置文件(设置 → "添加个人资料")。
2. 只登录拥有这些文件的那一个 Google 账号。
3. 在这个配置文件里允许所有 cookie。
4. 用这个配置文件登录 Claude,重新接 Google Drive。
5. 跑原来会循环的那个查询。

如果新配置文件里循环消失了,说明原配置文件有 cookie / 多账号 / 扩展问题。

第 2 步:彻底吊销重连

只”断开重连”不够。要做的是完整重置:

1. 打开 myaccount.google.com/permissions
2. 找到 Claude(或 "Anthropic"),点进去,"移除访问权限"。
3. 在 Claude → 设置 → 连接器 → Google Drive → 断开连接。
4. 关掉所有 Claude 标签页,强制刷新(Cmd+Shift+R / Ctrl+Shift+R)。
5. 在 Claude 里重新连接 Google Drive。授权页要确认你看到
   "查看、编辑、创建并删除您所有的 Google Drive 文件"或同等
   宽范围 scope。

要让 Claude 处理共享盘和文件元数据,就必须给宽 scope。

第 3 步:在授权页强制 offline access

Google OAuth 授权页上,找一行类似”在您不在场时也允许 Claude 访问您的账户”的说明。如果这句话没出现,说明集成方没请求 access_type=offline。这一项用户侧没有开关 —— 需要 Claude 自己更新或者联系官方支持。可临时尝试:从 Claude 连接器页重新走一遍授权流程,有时候能重新拿到 offline access。

第 4 步:Workspace 用户要查管理员策略

如果你是 Workspace 套餐:

管理控制台 → 安全性 → API 控制 → 
  管理第三方应用访问 → 搜索 "Claude" / "Anthropic"

如果 Claude 处于”受限”或”限制”模式,让管理员把它标为”可信”。否则 Workspace 会按策略周期性吊销 token,循环无解。

第 5 步:一个一个关闭浏览器扩展

隐私 / cookie 拦截类扩展是常见元凶。测一遍:

1. 在隐身 / 私密窗口里打开 Claude,且关掉所有扩展。
2. 重跑同一个连接器查询。
3. 如果循环消失,把扩展一个一个打开,定位是哪个引发的。

常见嫌疑:uBlock Origin(激进模式)、Privacy Badger、Ghostery、1Blocker(Safari)。

第 6 步:多账号情况下,锁定正确账号

跟 Claude 分享文件链接时在 URL 后面加 authuser=<email>,或者干脆把所有副账号都登出再去连接。Claude 暂时还没有按调用切换账号的选项,连接器锁定的就是授权那一刻的活跃账号。

验证

  • 在 Claude 里连续跑 5 个 Drive 查询,跨度至少 10 分钟。中间不应该再触发重新授权。
  • myaccount.google.com/security —— Claude 那一行的”上次访问”时间戳应该随着每次查询往后走,而你不用再手动授权。
  • Workspace 用户:闲置一段时间,跨过那个常见的策略刷新窗口(通常隔夜),第二天还能正常调用即为通过。

长期预防

  • 给 Claude + Google Drive 工作单独开一个 Chrome 个人配置文件。不装个人浏览的扩展,只登一个 Google 账号。
  • Workspace 用户去把 Claude 一次性标为”可信应用”,死循环基本永久解决。
  • 把当初给的 scope 记一下。下次连接器要更宽 scope 的时候直接同意 —— 只给一半 scope 会出现一堆静默 403,看起来全像授权失败。
  • 不要中途换浏览器 / 换设备。每换一台设备就要重新走一次授权,可能撞上不同的策略。
  • 如果你高频用连接器,记住授权日期 —— 有些 Workspace 管理员设了 90 天强制重新同意。

常见坑

  • 只在 Claude 里”断开”连接器,没去 myaccount.google.com/permissions 同步吊销 —— 旧授权还在,循环还会复发。
  • 只授权了 drive.file scope(逐文件选择)却指望 Claude 总结它没见过的新文件 —— 这种 scope 下每个新文件本来就会再问一次,这是设计如此。
  • 在一台设备授权,以为所有设备都能用 —— Workspace 策略经常把授权和设备指纹绑定。
  • 以为 Claude 连接器页显示”已连接”就代表 token 有效。它只代表存在一条记录;refresh 失败要到调用时才暴露。
  • 用免费版 Claude 账号(还没解锁 Drive 连接器)粘贴 Google Drive 链接 —— 看起来像授权死循环,其实是功能门控。

FAQ

Q:我一小时内重新授权了 10 次,是被 Google 限流了吗?

有可能。Google OAuth 流程有反滥用启发式判断。一小时内授权 10 次左右会被临时锁定 —— 此时 Claude 会显示一个通用的”权限不足”而不再弹 OAuth 框。等 30-60 分钟,再走一遍干净配置文件那一步。

Q:为什么有些文件能跑,有些不行?

几乎都是 scope 或账号问题。共享盘里的文件、别人账号下的文件、被组织级 DLP 限制的文件,都需要超出当前授权的权限。也可参考 Claude 连接器提示无权限

Q:Claude 桌面端也会有这问题吗,还是只有 Web?

两端都有,但原因不同。Web 主要是 cookie / 扩展 / 浏览器策略。桌面端主要是操作系统级钥匙串 —— 系统安全更新时钥匙串轮换,refresh token 被踢掉。

Q:从 Workspace 切到个人 Gmail 能解吗?

对管理员策略类原因(原因 #2)有效。对 cookie、scope、refresh token 问题无效。建议先做干净配置文件的测试,定位 bug 的真实位置。

相关阅读

标签: #排查 #Claude #google-drive #connector #OAuth