从第二次开始'invalid_grant'谷歌oauth错误



我正在为我的python应用程序使用谷歌oAuth,在该应用程序中,我可以通过谷歌自动登录到我的应用程序。当我第一次尝试登录时,它会成功,但从下次登录开始,它不会成功,每次我都会收到500个内部服务器错误。

当我检查错误日志时,我在的"凭证=oAuthFlow.step2_exchange(代码)"行上收到以下错误消息

Failed to retrieve access token: {
    "error" : "invalid_grant"
}

我在谷歌上注册了有效的客户端ID。有人能告诉我为什么会这样吗。我使用的是python 2.7。

它可能由多种因素引起,包括。。。

  1. 用户已撤回权限
  2. 作用域已更改
  3. 谷歌已停用您的刷新令牌
  4. 代码中出现错误的刷新令牌。请记住,您只会在第一次通过时获得刷新令牌。在随后的调用中,刷新令牌将为null,因为您本应将其保存在数据库中

当我使用同一个用户进行测试和实时使用时,我会得到很多,因为这两个刷新令牌往往会相互覆盖。

好消息是,无论是什么原因,解决方案总是一样的。您需要强制用户重新授权。

最新更新