如何修复 Google API 'invalid_grant' 错误
How to fix Google API 'invalid_grant' error
我正在使用 Google API 与 Drive API 和 Drive Activity API 来处理和更改文件。
一切似乎都运行良好,但在一周中的任意一天我收到 invalid_grant
错误。我已经阅读了有关时区解决方案和其他 8-9 问题,但我认为这是另外一回事。
这就是我使用 API 的方式:
- 从数据库获取凭据 -> 使用它们进行身份验证。
- 每次我的应用程序执行身份验证功能时获取新的 access_token 和 refresh_token,将令牌设置为凭据并在数据库中更新它。
- 每次用户想要对驱动器做任何事情或通过 google webhook 接收新的更改时,都会触发 auth 方法(如果存储 OAuth2Client 的 authClient 静态字段未定义)
所以它工作正常,但是这个 invalid_grant 错误毁了一切。我不知道该怎么办。
如果您查看 expiration 的文档,您会找到问题的原因。
A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days.
在 Google 开发者控制台中将您的应用程序设置为正式版,您的刷新令牌将持续超过 7 天。
我正在使用 Google API 与 Drive API 和 Drive Activity API 来处理和更改文件。
一切似乎都运行良好,但在一周中的任意一天我收到 invalid_grant
错误。我已经阅读了有关时区解决方案和其他 8-9 问题,但我认为这是另外一回事。
这就是我使用 API 的方式:
- 从数据库获取凭据 -> 使用它们进行身份验证。
- 每次我的应用程序执行身份验证功能时获取新的 access_token 和 refresh_token,将令牌设置为凭据并在数据库中更新它。
- 每次用户想要对驱动器做任何事情或通过 google webhook 接收新的更改时,都会触发 auth 方法(如果存储 OAuth2Client 的 authClient 静态字段未定义)
所以它工作正常,但是这个 invalid_grant 错误毁了一切。我不知道该怎么办。
如果您查看 expiration 的文档,您会找到问题的原因。
A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days.
在 Google 开发者控制台中将您的应用程序设置为正式版,您的刷新令牌将持续超过 7 天。