Я пытаюсь получить от Google refresh_token, который можно использовать для обновления токена access_token после истечения срока его действия.
Насколько я понимаю, я считаю, что Google предоставляет токен обновления в перенаправлении после того, как пользователь впервые разрешил приложению получать данные.
Google перенаправляет моего пользователя на мой сайт по адресу:
Веб-страница /? код = Foo & сфера = бар
Однако я не получаю этот токен обновления. Я получаю кодовое значение, которое я использую для успешного получения моего первого токена доступа. Является ли это значение кода на самом деле искомым токеном, который я ищу?
Не думаю, что это так, потому что я попытался отправить запрос POST на сервер авторизации Google / o / oauth2 / token, указав в сообщении, что я хочу обновить_каталог, и предоставив им этот код, но они отправили обратно неверный ответ. Я пробовал это до истечения срока действия моего оригинального access_token, так что это может быть проблемой.
Вот мой запрос в Google (я отредактировал некоторые данные)
https://accounts.google.com/o/oauth2/token?code=XXXXXX&client_id=XXXXXXXXXXXXX&client_secret=XXXXXXXXX&redirect_uri=XXXXXXXX&grant_type=authorization_code&access_type=offline
Вот ответ, который я получаю
{
"access_token": "ya29.GlsFB8Pro9_Annam0VtpE4dm3Z0xjE6vulopi-LHgDnZKcGcGnwFA6Z7CpBbt1rTNYGxmp9oQ3uz6808EyTZKIdYqo6AuMWyU2karSdn0Z3hcT8who3RajB9djlu",
"expires_in": 3600,
"scope": "https://www.googleapis.com/auth/youtube.readonly",
"token_type": "Bearer"
}
Я первым делом отправляю этот запрос в Google после прохождения пользователем процесса перенаправления аутентификации. Все ресурсы, которые я прочитал, говорят, что я должен получить refresh_token, но я не получаю.
Примечание. Я проверял этот запрос в PostMan