2012-07-17 75 views
0

我很高興回答這個問題https://stackoverflow.com/a/8548319/641264因爲感謝它,現在我明白了訪問令牌和刷新令牌之間的區別。我還瞥了一眼OAuth2WebSercer文檔https://developers.google.com/accounts/docs/OAuth2WebServer 但我不知道可用於使用刷新令牌的函數/方法。對於訪問令牌,我們使用:如何在Google Python API中保存並加載刷新令牌

gdata.gauth.ae_save() 
gdata.gauth.ae_load() 
token.get_access_token() 

但是如何刷新令牌?

回答

0

如果您一步往下走進來源:
[ae_save source]
[token_to_blob source]

你會看到token_to_blob被稱爲在令牌本身,當你調用ae_save

特別是:

elif isinstance(token, OAuth2Token): 
    return _join_token_parts(
     '2o', token.client_id, token.client_secret, token.scope, 
     token.user_agent, token.auth_uri, token.token_uri, 
     token.access_token, token.refresh_token) 

所以不只是訪問令牌是保住了,但許多標記對象的其他屬性。

+0

如何使用刷新令牌?使用refresh token.refresh_token會給出錯誤。 – tsil 2012-07-23 22:27:48

+0

這不應該是這種情況。什麼是「類型(令牌)」?即使您沒有刷新令牌,該值也將爲「無」。在通過'ae_save'序列化令牌之前,請確保您確實擁有'refresh_token'。除非您指定'approval_prompt = force',否則後續OAuth2請求不會爲您提供新的刷新標記。 – bossylobster 2012-07-24 02:08:17