Я могу обменять мой токен времени использования с моего устройства Android для доступаToken и refreshToken. Я пытаюсь выяснить, как использовать refreshToken. Я нашел это https://developers.google.com/accounts/docs/OAuth2WebServer#refresh, который работает по запросу https, но мне было интересно, есть ли где-то в java sdk для обработки обновления. Я посмотрел, но не смог его найти.Google oauth, как использовать токен обновления
ответ
Вам не нужно. Просто вызовите GoogleAuthUtil.getToken() перед каждым HTTP-разговором, и GoogleAuthUtil будет убедиться, что вы получаете тот, который работает, при необходимости обновляя.
EDITED: О, хорошо, он делает это на сервере. Вот код 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");
}
Я не делаю http-запросы на устройстве Android. Я обмениваю его на сервере для автономного доступа – user1634451
ОК, обновил ответ –
Почему вы вставляете секрет клиента сервера на клиентское устройство? – interlude
- 1. Oauth 2 Как использовать токен обновления
- 2. Google Oauth не получает токен обновления
- 3. Google OAuth - как повторно использовать токен доступа
- 4. Google OAuth получает токен обновления, используя сгенерированный javascript OAuth access_token
- 5. токен обновления OAuth 2.0 недоступен?
- 6. Использование ADFS OAuth токен обновления
- 7. Google OAuth 2 - Как получить токен обновления с помощью Xamarin.Auth?
- 8. Токен Google GCM - токен обновления
- 9. Как получить токен обновления в OAuth 2.0?
- 10. PHP сервер Google Analytics для сервера OAuth получить токен обновления
- 11. Не удалось получить токен обновления с Google OAuth 2
- 12. токен обновления OAuth 2.0 для установленных приложений
- 13. OAuth 2 токен обновления API для Google - null
- 14. Будет ли Google OAuth автоматически выдавать новый токен обновления?
- 15. Google OAuth получает новый токен доступа с токеном обновления
- 16. Google OAuth: не может получить токен обновления с кодом авторизации
- 17. Как обновить токен OAuth?
- 18. Podio Oauth - обновить токен-токен
- 19. Google Oauth - TokenVerifier Как использовать?
- 20. Google OAuth 2.0 Токен Expire Время
- 21. токен доступа OAuth и обновления страниц
- 22. Не получать токен обновления в youtube OAuth
- 23. токен обновления Google Analytics недействителен
- 24. Как получить токен обновления OAuth 2 с помощью токена доступа
- 25. ASP.NET MVC - получить токен OAuth Google
- 26. Аннулировать Токен OAuth 2 Google API
- 27. Google токен доступа OAuth не обновляет токен NULL
- 28. Как я могу использовать Google oAuth 2.0?
- 29. Получить токен обновления google api
- 30. Получить токен Google OAuth с Android.
Вы проверили библиотеку java-клиент для API Google Apps? https://code.google.com/p/google-api-java-client/wiki/OAuth2 «GoogleCredential автоматически заботится о« обновлении »токена, что просто означает получение нового токена доступа. средство долговременного токена обновления, которое обычно принимается вместе с токеном доступа, если вы используете параметр «access_type = offline» во время потока кода авторизации (см. GoogleAuthorizationCodeFlow.Builder.setAccessType (String)) » – Emily
Я не использовать GoogleAuthorizationCodeFlow, чтобы генерировать мой маркер из устройства я использовать GoogleAuthUtil.getToken (mContext, mAccountName, \t \t \t \t \t \t областей); я не вижу метод для установки access_type – user1634451