我是否必须自己刷新oauth2 access_token,或者

时间:2012-10-16 14:15:53

标签: python google-app-engine oauth oauth-2.0

我使用适用于Python的Google API客户端库(oauth2client应用引擎)。当access_token到期时,我是否必须自己刷新它还是由API完成? 现在access_token过期并且没有刷新!

我使用oauth意识装饰器。访问类型=离线,刷新令牌位于凭证内。

这是我收到的TokenInfo:

{
 "issued_to": "1002825648120.apps.googleusercontent.com",
 "audience": "1002825648120.apps.googleusercontent.com",
 "user_id": "110738386197429542823",
 "scope": "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email",
 "expires_in": 3540,
 "email": "xxxxxxxxx@gmail.com",
 "verified_email": true,
 "access_type": "offline"
}

如果我必须刷新access_token,那么oauth客户端API中是否有一个简单的方法可以做到这一点?

UPDATE-1:

我研究了oauth2 / client.py的代码。我现在认为没有使用decorator.http()导致不刷新访问令牌。看到这个(我的另一个)问题: Failed to authorize tokeninfo oauth2 request using decorator.http()

更新-2:已解决:

上面提到的问题(在UPDATE-1中)已经解决并且也解决了这个问题。在调用授权的http.request时,API将尝试刷新access_token(如果已过期)。

1 个答案:

答案 0 :(得分:0)

我研究了oauth2 / client.py的代码。我现在认为没有使用decorator.http()导致不刷新访问令牌。看到这个(我的另一个)问题:无法使用decorator.http()

授权tokeninfo oauth2请求

更新和解决:

上面提到的问题已经解决,也解决了这个问题。在调用授权的http.request时,API将尝试刷新access_token(如果已过期)。