Android デバイスのワンタイム トークンをアクセス トークンとリフレッシュ トークンに交換できます。リフレッシュ トークンの使用方法を理解しようとしています。
これは HTTPS リクエストで機能することがわかりましたが、Java SDK のどこにリフレッシュを処理する場所があるのでしょうか?
Android デバイスのワンタイム トークンをアクセス トークンとリフレッシュ トークンに交換できます。リフレッシュ トークンの使用方法を理解しようとしています。
これは HTTPS リクエストで機能することがわかりましたが、Java SDK のどこにリフレッシュを処理する場所があるのでしょうか?
その必要はありません。各 HTTP 会話の前に GoogleAuthUtil.getToken() を呼び出すだけで、GoogleAuthUtil は機能するものを取得し、必要に応じて更新します。
EDITED:ああ、OK、彼はサーバー上でこれをやっています. リフレッシュ トークンを使用する 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");
}