Как получить 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/