使用仅具有auth_token或refresh_token的Google Python SDK进行身份验证

时间:2015-01-24 23:39:42

标签: python authentication oauth-2.0 google-api google-oauth

我有一堆gmail.storage文件,其中包含一个JSON blob,其中包含用户帐户的访问信息。我使用PHP获取这些凭据集以提示用户对我的应用进行身份验证/授权。我可以使用这些凭据调用Gmail API。 JSON包含以下字段:

{"access_token": xxxxxx,
"token_type":"Bearer",
"expires_in":3599,
"refresh_token":"xxxxxx",
"created":1421545394}

但是,当我使用Python SDK for Gmail使用这些凭据文件验证呼叫时,如下所示:

 credentials = storage.get()

它表示需要字段_module_class和其他一些字段。当我使用Python获取信息而不是PHP时,我能够获得这些信息。知道如何使用上面的代码来获取没有这些无关字段的凭据吗?

1 个答案:

答案 0 :(得分:0)

在再次使用信用卡之前,只需调用刷新方法。

storage = file.Storage("auth.dat")
credentials = storage.get()

http = httplib2.Http()
credentials.refresh(http)   # <----------
http = credentials.authorize(http)

service = build('whatever_service', 'v2', http=http)