我正在使用google-api-java-client版本1.8-beta進行oAuth2身份驗證與Google帳戶。一切正常,直到我得到GoogleTokenResponse對象,它具有訪問令牌但沒有刷新令牌。 要構建請求URL我的用戶下面的方法:獲取null刷新令牌
...
googleAuthenticationUrl = new GoogleAuthorizationCodeRequestUrl(CLIENT_ID, callBackUrl, scopes).build();
...
當獲取請求令牌我在此行中訪問輔幣:
...
GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest(new NetHttpTransport(), new JacksonFactory(), CLIENT_ID, CLIENT_SECRET, request.getParameter(CODE_URL_PARAM), callBackUrl).execute();
...
返回GoogleTokenResponse對象不包含刷新令牌:
{"access_token":"ya29.AH..etc...9-Y","expires_in":3600,"token_type":"Bearer"}
您能否在這個問題上拋出我的光芒?非常感謝您的幫助!
在GoogleAuthorizationCodeFlow.Builder:升級警告:之前的1.10版本默認爲{@code「offline」}。但是,從版本1.10開始,它是{@code null},這意味着用於Web應用程序的「在線」代碼。爲了保持先前的行爲,您需要顯式調用setAccessType(「offline」)}。 – koma 2012-08-19 01:27:01
如果你(PapelPincel)寫的(取自Google開發者頁面)是正確的,我會說這不足以「在令牌過期前自動刷新令牌」(如https://developers.google.com/oauthplayground/說的)。那麼,如何在後臺刷新訪問令牌,而不要求其他時間給用戶做出新的授權? – Aerox 2014-06-09 20:04:42