Notice: We're retiring Works with Nest. See the home page for more information.
Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
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 de Clientes OAuth.
redirect_uri cuerda No Use esto para especificar el URI de redireccionamiento deseado si se configuran múltiples URI de redireccionamiento para su cliente. Omita que use su URI de redireccionamiento predeterminado.

No incluya ningún otro parámetro dentro del parámetro redirect_uri sí mismo, debe coincidir con un URI de redireccionamiento configurado para su cliente exactamente.
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 la identificación del cliente o los parámetros de estado. A la URL de autorización le falta el parámetro client_id o state , o ambos. Asegúrese de que la URL de autorización aprobada sea completa y precisa.
¡Uy! Hemos encontrado un error. Inténtalo de nuevo. Este error ocurre de lo siguiente:
  • El servicio Nest está caído. Espere hasta que se restablezca el servicio Nest.
  • No existe un cliente para el client_id dado. Asegúrese de que la URL de autorización aprobada esté usando el client_id correcto.
La conexión al nombre de la empresa no está disponible actualmente. Comunícate con Nest para obtener más información. El cliente ha excedido la cuota de usuario. Envíe su cliente para revisión para agregar más usuarios.

Redirigir respuestas de error de autorización basadas en URI

Para todas las respuestas, tipo de contenido: application/json .

Faltan parámetros requeridos

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 requerido, PARAM_NAME , en la solicitud del código de autorización.

redirect_uri no registrado previamente

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 de 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 de 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 continuarán funcionando, pero no se recomiendan.

La solicitud de 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 pasa después de que su cliente acepta dar acceso a su aplicación a los datos de Nest. Este valor es proporcionado por una solicitud de código de autorización exitosa.

Aprenda a configurar la autorización
client_id cuerda si Disponible en la página de Clientes OAuth.
client_secret cuerda si Disponible en la página de Clientes OAuth; También puede llamarse clave de aplicación.
grant_type cuerda si Debe ser esta cadena: authorization_code

Respuesta

Para todas las respuestas, tipo de contenido: application/json

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

Token de acceso de por vida

No admitimos tokens de actualización , ya que los tokens de acceso no caducan. Consulte el Resumen de autorización para obtener más información sobre el flujo de autorización basado en web y PIN.

Respuestas de error de token de acceso

Para todas las respuestas, tipo de contenido: application/json .

Código de autorización caducado

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.

Código de autorización no encontrado

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 del code no es válido. Verifique que esté utilizando el código de autorización correcto.

Cliente no activo

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

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

Secreto del cliente no encontrado

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 correcto de client_secret .

Faltan parámetros requeridos

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 requerido, PARAM_NAME , en la solicitud de 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 usó en la solicitud de token de acceso.