我正在为我的python应用程序使用谷歌oAuth,在该应用程序中,我可以通过谷歌自动登录到我的应用程序。当我第一次尝试登录时,它会成功,但从下次登录开始,它不会成功,每次我都会收到500个内部服务器错误。
当我检查错误日志时,我在的"凭证=oAuthFlow.step2_exchange(代码)"行上收到以下错误消息
Failed to retrieve access token: {
"error" : "invalid_grant"
}
我在谷歌上注册了有效的客户端ID。有人能告诉我为什么会这样吗。我使用的是python 2.7。
它可能由多种因素引起,包括。。。
- 用户已撤回权限
- 作用域已更改
- 谷歌已停用您的刷新令牌
- 代码中出现错误的刷新令牌。请记住,您只会在第一次通过时获得刷新令牌。在随后的调用中,刷新令牌将为null,因为您本应将其保存在数据库中
当我使用同一个用户进行测试和实时使用时,我会得到很多,因为这两个刷新令牌往往会相互覆盖。
好消息是,无论是什么原因,解决方案总是一样的。您需要强制用户重新授权。