本文介紹了Google OAuth:如何使用刷新令牌?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我可以從Android設備將我的一次性使用令牌交換為訪問令牌和刷新令牌。我正在嘗試了解如何使用刷新標記。
我發現this可以處理HTTPS請求,但我想知道Java SDK中是否有一些地方可以處理刷新?
推薦答案
您不需要這樣做。只需在每次HTTP會話之前調用GoogleAuthUtil.getToken(),GoogleAuthUtil將確保您獲得一個有效的HTTP會話,并在必要時刷新。
編輯:哦,好的,他在服務器上做這個。以下是一些使用刷新標記的Java代碼:
String data = "refresh_token=" + mRefreshToken +
"&client_id=" + Constants.WEB_CLIENT_ID +
"&client_secret=" + Constants.WEB_CLIENT_SECRET +
"&grant_type=refresh_token";
byte[] body = data.getBytes();
URL url = new URL(Constants.GOOGLE_TOKEN_ENDPOINT);
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setFixedLengthStreamingMode(body.length);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.getOutputStream().write(body);
body = XAuth.readStream(conn.getInputStream());
JSONObject json = new JSONObject(new String(body));
String accessToken = json.optString("access_token");
if (accessToken == null) {
throw new Exception("Refresh token yielded no access token");
}
這篇關于Google OAuth:如何使用刷新令牌?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,