Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Ссылка авторизации

Запрос кода авторизации

В зависимости от типа запроса мы реализуем разные длины кода и значения TTL (время жизни):

поток TTL Длина кода
Web 10 минут 16 символов
ШТЫРЬ 48 часов 8 символов

параметры

Параметры авторизации, поддерживаемые в Nest API:

название Тип необходимые Описание
client_id строка да Доступно на странице клиентов OAuth.
redirect_uri строка нет Используйте это, чтобы указать желаемый URI перенаправления, если для вашего клиента настроено несколько URI перенаправления. Опустите его, чтобы использовать ваш URI перенаправления по умолчанию.

Не включайте никакие другие параметры в сам параметр redirect_uri , он должен точно соответствовать URI перенаправления, настроенному для вашего клиента.
state строка да Используйте это, чтобы указать неуловимое значение для борьбы с атаками CSRF . В противном случае используйте значение по умолчанию STATE .

Сообщения об ошибках авторизации на основе PIN-кода

Следующие сообщения об ошибках могут отображаться пользователям во время запросов кода авторизации на основе PIN-кода:

Сообщение об ошибке пользователя объяснение
Отсутствует идентификатор клиента или параметры состояния. В URL авторизации отсутствует либо параметр client_id либо параметр state , либо оба параметра. Убедитесь, что переданный URL авторизации является полным и точным.
К сожалению! Мы столкнулись с ошибкой. Пожалуйста, попробуйте еще раз. Эта ошибка возникает из-за следующего:
  • Служба Nest не работает. Подождите, пока служба Nest не будет восстановлена.
  • Клиент не существует для данного client_id . Убедитесь, что переданный URL авторизации использует правильный client_id .
Подключение к названию компании в настоящее время недоступно. Пожалуйста, свяжитесь с Nest для получения дополнительной информации. Клиент превысил квоту пользователя. Отправьте ваш клиент на проверку, чтобы добавить больше пользователей.

Перенаправить ответы об ошибках авторизации на основе URI

Для всех ответов тип контента: application/json .

Отсутствуют обязательные параметры

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
объяснение В запросе кода авторизации отсутствует обязательный параметр PARAM_NAME .

redirect_uri предварительно не зарегистрирован

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
объяснение Параметр redirect_uri используемый в запросе маркера доступа, не соответствует ни одному из URI перенаправления, настроенных для вашего клиента.

Запрос токена доступа

Мы рекомендуем вам соблюдать этот стандарт OAuth , который обеспечивает повышенную безопасность путем включения учетных данных клиента в тело запроса. Вызовы с учетными данными клиента в заголовке будут продолжать работать, но это не рекомендуется.

Запрос токена доступа выполняется в форме запроса HTTP POST.

параметры

название Тип необходимые Описание
code строка да Код авторизации, который передается после того, как ваш клиент согласен предоставить вашему приложению доступ к данным Nest. Это значение обеспечивается успешным запросом кода авторизации.

Узнайте, как настроить авторизацию
client_id строка да Доступно на странице клиентов OAuth.
client_secret строка да Доступно на странице клиентов OAuth; также может называться ключом приложения.
grant_type строка да Должна быть эта строка: authorization_code

отклик

Для всех ответов тип контента: application/json

Код состояния HTTP Описание тело
200 ОК Токен доступа возвращается. Используйте токен доступа при звонках в сервис Nest. LONG - количество секунд до истечения срока действия токена. {
"access_token":"STRING",
"expires_in":LONG
}

Срок действия токена доступа

Мы не поддерживаем токены обновления , потому что токены доступа практически не имеют срока действия. См. Обзор авторизации для получения дополнительной информации о процессе авторизации на основе веб- и ПИН-кода.

Ответы об ошибках токена доступа

Для всех ответов тип содержимого: application/json .

Код авторизации истек

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
объяснение Срок авторизации истек. Новый код авторизации необходим для запроса токена доступа.

Код авторизации не найден

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
объяснение Параметр code недействителен. Убедитесь, что вы используете правильный код авторизации.

Клиент не активен

подробности
Код состояния HTTP 403 Запрещено
тело {
"error":"client_not_active",
"error_description":"client is not active"
}
объяснение Убедитесь, что вы используете правильные параметры . Если параметры верны и ошибка возникает только для некоторых методов авторизации (например, авторизация прошла успешно с использованием Postman, но не с использованием Curl), возможно, что-то не так с вашим синтаксисом.

Эта ошибка также возникает, если ваш клиент деактивирован.

Секрет клиента не найден

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"oauth2_error",
"error_description":"client secret not found"
}
объяснение Параметр client_secret недействителен. Убедитесь, что вы используете правильное значение client_secret .

Отсутствуют обязательные параметры

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
объяснение В запросе маркера доступа отсутствует обязательный параметр PARAM_NAME .

redirect_uri не допускается

подробности
Код состояния HTTP ошибка 400, неверный запрос
тело {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
объяснение Параметр redirect_uri использовался в запросе токена доступа.