一个invalid_grant
当刷新令牌不能被用来获取当前用户令牌的新的访问返回。这是发生在您的原因,因为存储的Credentials
对象具有空刷新令牌,即
>>> credentials.refresh_token is None
True
如在如何在GAE / Python上进行“ access_type = offline”/仅服务器的OAuth2操作中的 中所述:
如果用户已经授权了您的客户端ID,则随后您为这些用户执行OAuth时,他们将不会看到OAuth对话框,也不会获得刷新令牌。
Credentials
如上一个问题以及链接到的所有3个问题中所述,您需要确保使用有效的刷新令牌存储了您的存储令牌,并且最简单的方法是approval_prompt=force
在创建OAuth2WebServerFlow
或OAuth2Decorator
对象时使用(无论您使用的是哪个) )。