Нет токена обновления при авторизации доступа к устройству

#nest-device-access

#гнездо-доступ к устройству

Вопрос:

Я могу успешно авторизовать пользователя через диспетчер партнерских подключений, но когда я запрашиваю токены с https://www.googleapis.com/oauth2/v4/token помощью моего кода авторизации, я не получаю a refresh_token в ответе, присутствует только an access_token :

 {
  access_token: 'my-access-token',
  expires_in: 3599,
  scope: 'https://www.googleapis.com/auth/sdm.service',
  token_type: 'Bearer'
}
  

Ответ №1:

Обязательно укажите access_type=offline URL-адрес в диспетчере подключений партнеров (PCM). Его исключение предполагает access_type=online , что не предоставляет токен обновления.

Например, URL-адрес PCM должен выглядеть примерно так, где access_type=offline :

 https://nestservices.google.com/partnerconnections/project-id/auth?
  redirect_uri=my-redirect-uriamp;
  access_type=offlineamp;
  prompt=consentamp;
  client_id=my-client-idamp;
  response_type=codeamp;
  scope=https://www.googleapis.com/auth/sdm.service
  

Затем последующий ответ токена от https://www.googleapis.com/oauth2/v4/token должен иметь то, что вы ожидаете:

 {
  "access_token": "my-access-token",
  "expires_in": 3599,
  "refresh_token": "my-refresh-token",
  "scope": "https://www.googleapis.com/auth/sdm.service",
  "token_type": "Bearer"
}
  

Дополнительные сведения см. в разделе Авторизация учетной записи на сайте доступа к устройству.