Intereting Posts
Сохранение обслуживания во время изменений ориентации Просмотр горизонтальной прокрутки внутри ViewPager Реализация круговой прокрутки в PagerAdapter Андроид добавляет номер в журнал вызовов Предварительный просмотр пользовательского интерфейса камеры на Android? Самый быстрый / простой способ найти методы в Java / Android, которые выполняют второй или более Экран эмулятора Android заполняет только часть доли фактического экрана эмулятора Android. Android Studio 3.0: canary 6: android.content.res.Resources $ NotFoundException внутри Запуск активности Как выполнить проверку подлинности HTTP в android? Как список всплывающих окон, как счетчик без spinner в android? Android, как изменить интервал TimerTask после shcedule? Как очистить историю веб-просмотра в android Публикация обновлений Android на рынок – как долго они появятся? Android 2.3 Google Maps Missing Resource maps_watermark_dark.png Как использовать бесплатную базу данных облаков с Android-приложением?

Как получить refreshToken при использовании GoogleAuthUtil

Я использую GoogleAuthUtil в Google Play Services на Android. Вызвав GoogleAuthUtil.getToken(context, userName, scope) , я получил такой же токен:

 ya29.wQBWztab5kcgMLcMbAI0LwFzHC_DPrxauSWbX4P6KOnBEOgjcm9V7OI9AFr6JGxDY54gP00RemzzgML56_gWRHn8Q5jK16BLY-0y83Gc5vfe3xN-QpyM4d7z 

Это access_token, который можно использовать при вызове Google Apis. Затем, как я могу получить токен обновления, чтобы обновить этот access_token, потому что я также использую библиотеку Google oauth java и библиотеку Java Java в своем проекте Android, я хочу использовать эти две библиотеки для поддержки / управления access_token , refresh token и значений expires_in , (При использовании Google oauth java-библиотеки возвращаемый access_token содержит access_token , refresh token и expires_in )

Заранее спасибо.

Solutions Collecting From Web of "Как получить refreshToken при использовании GoogleAuthUtil"

Вы не можете напрямую получать refreshToken с помощью GoogleAuthUtil.getToken() но если вы вызываете getToken() каждый раз, когда вы получаете ошибку 401, GoogleAuthUtil вернет вам новый действительный токен, если потребуется.

Чтобы получить токен обновления, убедитесь, что ваша область находится в следующем формате:

 Account account = new Account(mEmail, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE); mScope="oauth2:server:client_id:"+ OAUTH_WEBCOMPONENT_ID+":api_scope:"+"https://www.googleapis.com/auth/userinfo.email"; return GoogleAuthUtil.getToken(mActivity, account, mScope); 

Это даст вам код авторизации, который можно отправить на ваш веб-компонент.

Ваш веб-компонент может использовать этот код авторизации только один раз, чтобы получить токен доступа и обновить токен с помощью этого кода. Вы должны сохранить токен обновления в своей базе данных, так что, когда код доступа больше недействителен, при необходимости вы можете получить новый токен доступа.

 POST /oauth2/v3/token HTTP/1.1 Host: www.googleapis.com Content-length: 233 content-type: application/x-www-form-urlencoded user-agent: google-oauth-playground code=4%2FVL2YMuPMheOP2-0vyKBSfGd-4er5GsMY17Ecp8ITK4U&redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&client_id=407408718192.apps.googleusercontent.com&client_secret=************&scope=&grant_type=authorization_code 

Вы можете имитировать, как это работает здесь:

https://developers.google.com/oauthplayground/