> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/troubleshooting/google-oauth-invalid-grant.md).

# 在 Duaer 里解决 Google 凭证 invalid_grant 和 7 天失效

Duaer 里 Gmail、Google Sheets、Google Drive 凭证用了几天就报 invalid_grant，多半是 Google 应用还在 Testing 状态。发布应用，再重新连接凭证。
## Duaer 里为什么会报 invalid_grant

报错通常是 invalid_grant 或 Token has been expired or revoked。Duaer 拿着刷新令牌去换新令牌，被 Google 拒绝了。常见原因：

- Google Cloud 里的 OAuth 应用发布状态是 Testing，外部用户的刷新令牌 7 天后失效。这是最常见的原因。
- Google 账号改了密码，或在账号安全页里移除了这个应用的访问权限。
- 同一个账号对同一个客户端授权太多次，最早的令牌被作废。

## 在 Duaer 里修好它

1. 打开 Google Cloud 控制台，进入你在 Duaer 凭证里用的那个项目。
2. 打开 Google Auth Platform 的 Audience（旧界面叫 OAuth consent screen），点 Publish app，状态变成 In production。
3. 回到 Duaer，打开这条凭证，点 Sign in with Google 重新授权并保存。
4. 用到这条凭证的数字组织点执行此步骤确认，再重新发布。

发布后 Google 可能显示未验证应用的提示。自己和团队内部使用时可以继续授权；要给大量外部用户用 Gmail 这类受限权限，需要走 Google 的应用验证。凭证的完整配置见 [Duaer 里的 Google OAuth 凭证](/zh/integrations/builtin/credentials/google/oauth-single-service.md)。
## Questions

### Duaer 的 Google 凭证为什么每 7 天就要重新登录？

因为 Google Cloud 里的 OAuth 应用还在 Testing 状态，外部用户的刷新令牌 7 天失效。把应用发布成 In production，再在 Duaer 里重新连接一次。

### 重新连接 Duaer 凭证后，要改每个节点吗？

不用。Duaer 节点引用的是同一条凭证，重新授权保存后，用它的节点都会生效。

## 相关

- [在 Duaer 里配置 Google OAuth2 single service 凭证](https://doc.duaer.com/zh/integrations/builtin/credentials/google/oauth-single-service.md)
- [在 Duaer 里用 Gmail 发邮件](https://doc.duaer.com/zh/build/gmail.md)
- [在 Duaer 里用 Google Sheets 读行](https://doc.duaer.com/zh/build/google-sheets.md)
- [在 Duaer 里解决 Google Sheets 429 配额超限](https://doc.duaer.com/zh/troubleshooting/google-sheets-429-quota-exceeded.md)

