googleapi "oauth2 / v4 / token" не возвращает "refresh_token" - PullRequest
0 голосов
/ 26 февраля 2020

Я получаю только access_token, когда использую этот код.

url = URI("https://www.googleapis.com/oauth2/v4/token")

    secrets = {
      code: params[:code],
      client_id: Rails.application.secrets.google[:client_id],
      client_secret: Rails.application.secrets.google[:client_secret],
      grant_type: "authorization_code",
      redirect_uri: Rails.application.secrets.front_end_domain
    }

    response = Net::HTTP.post_form(url, secrets)

    json_response = JSON.parse(response.read_body)

Как изменить код, чтобы я мог каждый раз получать refresh_token?

1 Ответ

0 голосов
/ 26 февраля 2020

Чтобы получить токен refre sh, вам необходимо передать

 access_type: 'offline'

Получилось ли у вас всплывающее окно для утверждения разрешений при загрузке кода на стороне клиента? Вам нужно убедиться, что вы передаете access_type: 'offline' на стороне клиента, когда всплывающее окно приходит для авторизации. Если это не будет выполнено, и вы не дадите согласие на всплывающее окно разрешений, Google не предоставит refresh_token.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...