Notice: We're retiring Works with Nest. See the home page for more information.
En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Referencia de autorización

Solicitud de código de autorización

Dependiendo del tipo de solicitud, implementamos diferentes longitudes de código y valores TTL (Time-to-Live):

Fluir TTL Longitud del código
Web 10 minutos 16 caracteres
ALFILER 48 horas 8 caracteres

Parámetros

Los parámetros de autorización admitidos en la API de Nest son:

Nombre Tipo Necesario Descripción
client_id cuerda si Disponible en la página Clientes OAuth.
redirect_uri cuerda No Use esto para especificar el URI de redireccionamiento deseado si se configuran varios URI de redireccionamiento para su cliente. Omitirlo para usar su URI de redireccionamiento predeterminado.

No incluya ningún otro parámetro dentro del parámetro redirect_uri , debe coincidir exactamente con un URI de redireccionamiento configurado para su cliente.
state cuerda si Use esto para especificar un valor no adivinable para combatir los ataques CSRF . De lo contrario, use el valor predeterminado de STATE .

Mensajes de error de autorización basados ​​en PIN

Los siguientes mensajes de error se pueden mostrar a los usuarios durante las solicitudes de códigos de autorización basados ​​en PIN:

Mensaje de error del usuario Explicación
Falta el ID de cliente o los parámetros de estado. En la URL de autorización falta el parámetro client_id o state , o ambos. Asegúrese de que la URL de autorización aprobada sea completa y precisa.
¡Ups! Hemos encontrado un error. Inténtalo de nuevo. Este error se produce por lo siguiente:
  • El servicio Nest no funciona . Espere hasta que se restaure el servicio de Nest.
  • No existe un cliente para el client_id dado. Asegurar la autorización aprobada URL está utilizando el correcto client_id .
La conexión con el nombre de la empresa no está disponible actualmente. Comuníquese con Nest para obtener más información. El cliente ha superado la cuota de usuarios. Envíe su cliente a revisión para agregar más usuarios.

Redirigir respuestas de error de autorización basadas en URI

Para todas las respuestas, content-type: application/json .

Faltan parámetros obligatorios

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Explicación PARAM_NAME un parámetro obligatorio, PARAM_NAME , en la solicitud del código de autorización.

redirect_uri no prerregistrado

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
Explicación El parámetro redirect_uri utilizado en la solicitud del token de acceso no coincide con ninguno de los URI de redireccionamiento configurados para su cliente.

Solicitud de token de acceso

Le recomendamos que cumpla con este estándar OAuth , que ofrece una mayor seguridad al incluir las credenciales del cliente en el cuerpo de la solicitud. Las llamadas con credenciales de cliente en el encabezado seguirán funcionando, pero no se recomiendan.

La solicitud del token de acceso tiene la forma de una solicitud HTTP POST.

Parámetros

Nombre Tipo Necesario Descripción
code cuerda si El código de autorización que se transmite después de que su cliente acepta que su aplicación acceda a los datos de Nest. Este valor lo proporciona una solicitud de código de autorización exitosa.

Más información sobre cómo configurar la autorización
client_id cuerda si Disponible en la página Clientes OAuth.
client_secret cuerda si Disponible en la página Clientes OAuth; también se puede llamar clave de aplicación.
grant_type cuerda si Debe ser esta cadena: authorization_code

Respuesta

Para todas las respuestas, content-type: application/json

Código de estado HTTP Descripción Cuerpo
200 OK Se devuelve el token de acceso. Utilice el token de acceso en las llamadas al servicio Nest. LONG es el número de segundos hasta que caduca el token. {
"access_token":"STRING",
"expires_in":LONG
}

Duración del token de acceso

No admitimos tokens de actualización , porque los tokens de acceso no caducan en la práctica. Consulte la descripción general de la autorización para obtener más información sobre el flujo de autorización basado en la web y el PIN.

Respuestas de error del token de acceso

Para todas las respuestas, content-type: application/json .

El código de autorización venció

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
Explicación El código de autorización ha caducado. Se necesita un nuevo código de autorización para solicitar un token de acceso.

No se encontró el código de autorización

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
Explicación El parámetro de code no es válido. Compruebe que está utilizando el código de autorización correcto.

Cliente inactivo

Detalles
Código de estado HTTP 403 Prohibido
Cuerpo {
"error":"client_not_active",
"error_description":"client is not active"
}
Explicación Compruebe que está utilizando los parámetros correctos. Si los parámetros son correctos y el error solo ocurre para algunos métodos de autorización (por ejemplo, la autorización se realiza correctamente con Postman, pero no con Curl), es posible que haya algún problema con la sintaxis.

Este error también ocurre si su cliente está desactivado.

No se encontró el secreto del cliente

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"oauth2_error",
"error_description":"client secret not found"
}
Explicación El parámetro client_secret no es válido. Compruebe que está utilizando el valor client_secret correcto.

Faltan parámetros obligatorios

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Explicación PARAM_NAME un parámetro obligatorio, PARAM_NAME , en la solicitud del token de acceso.

redirect_uri no permitido

Detalles
Código de estado HTTP 400 Petición Incorrecta
Cuerpo {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
Explicación El parámetro redirect_uri se utilizó en la solicitud del token de acceso.