报错排查
在 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 里修好它
- 打开 Google Cloud 控制台,进入你在 Duaer 凭证里用的那个项目。
- 打开 Google Auth Platform 的 Audience(旧界面叫 OAuth consent screen),点 Publish app,状态变成 In production。
- 回到 Duaer,打开这条凭证,点 Sign in with Google 重新授权并保存。
- 用到这条凭证的数字组织点执行此步骤确认,再重新发布。
发布后 Google 可能显示未验证应用的提示。自己和团队内部使用时可以继续授权;要给大量外部用户用 Gmail 这类受限权限,需要走 Google 的应用验证。凭证的完整配置见 Duaer 里的 Google OAuth 凭证。
常见问题
Duaer 的 Google 凭证为什么每 7 天就要重新登录?
因为 Google Cloud 里的 OAuth 应用还在 Testing 状态,外部用户的刷新令牌 7 天失效。把应用发布成 In production,再在 Duaer 里重新连接一次。
重新连接 Duaer 凭证后,要改每个节点吗?
不用。Duaer 节点引用的是同一条凭证,重新授权保存后,用它的节点都会生效。
同组
在 Duaer 里配置 Google OAuth2 single service 凭证
在 Duaer 中保存 Google OAuth2 single service 的连接信息,供数字组织节点在运行时使用。密钥经实例加密密钥保护,不会写进节点参数。
节点在 Duaer 里用 Gmail 发邮件
在 Duaer 里,Gmail 默认 Authentication 是 OAuth2,Resource 是 Message,Operation 是 Send。Email Type 默认 HTML。需要 gmailOAuth2 凭据。
节点在 Duaer 里用 Google Sheets 读行
在 Duaer 里,Google Sheets 默认 Authentication 是 OAuth2,Resource 是 Sheet,Operation 是 Get Row(s)。需要 googleSheetsOAuth2Api 凭据。
报错在 Duaer 里解决 Google Sheets 429 配额超限
Duaer 的 Google Sheets 节点报 429 或 Quota exceeded,是一分钟内请求太多。合并成批量写入,或分批加等待。