Я понял, что я делаю неправильно, я использовал не обновленный serverAuthCode, он должен быть последним + первый раз, когда вы разрешили приложению разрешения, и оно будет работать только в первый раз, после того как вы обменял его на refre sh токен, он не будет работать снова и всегда даст вам grant_error. Таким образом, после получения токена refre sh вы можете получить новый обновленный токен доступа. Я использовал реакцию-native-google-sign-in и мне нужен обновленный токен. Чтобы узнать больше о том же, прочитайте ниже.
Для React-native-google-sign-in: токен доступа получение от GoogleSignin.getTokens();
будет длиться около часа, чтобы получить новый access_token, нам нужно отправить serverAuthCode
на https://oauth2.googleapis.com/token
с полями: client_id
, client_secret
, code
(это serverAuthCode), grant_type
(его значение должно быть authorization_code), redirect_uri
(можно установить из консоли разработчика). Не забывайте использовать serverAuthCode
, который вы получаете при первой попытке, когда вы только что разрешили своему приложению использовать разрешения в ПЕРВЫЙ РАЗ, в противном случае вы будете каждый раз получать grant_error. После получения refresh_token
нам нужно получить новый access_token
, используя только что полученный токен refre sh, поэтому теперь просто замените значение grant_type
с authorization_code
на refresh_token
, а также замените значение поля code
на refresh_token
, заполните его значение и отправьте запрос на тот же URL, вы получите fre sh access_token
, который будет действителен в течение 1 часа.