O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Referência de Autorização

Pedido de código de autorização

Dependendo do tipo de solicitação, implementamos diferentes comprimentos de código e valores TTL (tempo de vida):

Fluxo TTL Comprimento do código
Rede 10 minutos 16 caracteres
ALFINETE 48 horas 8 caracteres

Parâmetros

Os parâmetros de autorização com suporte na API Nest são:

Nome Modelo Obrigatório Descrição
client_id fragmento sim Disponível na página Clientes OAuth.
redirect_uri fragmento não Use isso para especificar o URI de redirecionamento desejado se vários URIs de redirecionamento forem configurados para o seu cliente. Omita para usar seu URI de redirecionamento padrão.

Não incluem quaisquer outros parâmetros dentro do redirect_uri parâmetro em si, ele deve corresponder um redirecionamento URI configurado para o seu cliente exatamente.
state fragmento sim Utilize-o para especificar um valor não-guessable para combater ataques CSRF . Caso contrário, use o valor padrão de STATE .

Mensagens de erro de autorização baseadas em PIN

As seguintes mensagens de erro podem ser exibidas para usuários durante solicitações de código de autorização com base em PIN:

Mensagem de erro do usuário Explicação
ID do cliente ou parâmetros de estado ausentes. O URL de autorização está faltando ou o client_id ou state parâmetro, ou ambos. Certifique-se de que o URL de autorização aprovado esteja completo e preciso.
Ups! Encontramos um erro. Por favor, tente novamente. Este erro ocorre a partir do seguinte:
  • O serviço Nest é baixo. Aguarde até que o serviço Nest seja restaurado.
  • Um cliente não existe para o dado client_id . Garantir a autorização passou URL está usando a correta client_id .
Ligar a Empresa está actualmente disponível. Entre em contato com a Nest para obter mais informações. O cliente excedeu a cota do usuário. Envie seu cliente para revisão para adicionar mais usuários.

Redirecionar respostas de erro de autorização baseadas em URI

Para todas as respostas, do tipo de conteúdo: application/json .

Parâmetros obrigatórios ausentes

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Explicação Um parâmetro necessário, PARAM_NAME , está faltando na solicitação de código de autorização.

redirect_uri não pré-registrado

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
Explicação O redirect_uri parâmetro utilizado no acesso a solicitação de token não corresponde a nenhum dos URIs de redirecionamento configurado para o seu cliente.

Solicitação de token de acesso

Nós recomendamos que você cumprir com este padrão OAuth , que oferece maior segurança, incluindo as credenciais do cliente no corpo da solicitação. As chamadas com credenciais de cliente no cabeçalho continuarão funcionando, mas não são recomendadas.

A solicitação de token de acesso está na forma de uma solicitação HTTP POST.

Parâmetros

Nome Modelo Obrigatório Descrição
code fragmento sim O código de autorização que é passado depois que seu cliente concorda em dar ao seu aplicativo acesso aos dados do Nest. Este valor é fornecido por uma solicitação de código de autorização bem-sucedida.

Aprenda a configurar a autorização
client_id fragmento sim Disponível na página Clientes OAuth.
client_secret fragmento sim Disponível na página Clientes OAuth; também pode ser chamada de chave de aplicativo.
grant_type fragmento sim Deve ser esta string: authorization_code

Resposta

Para todas as respostas, do tipo de conteúdo: application/json

Código de status HTTP Descrição Corpo
200 OK O token de acesso é retornado. Use o token de acesso em chamadas para o serviço Nest. LONG é o número de segundos até que o token expire. {
"access_token":"STRING",
"expires_in":LONG
}

Tempo de vida do token de acesso

Não apoiamos tokens de atualização , porque tokens de acesso são efetivamente não expiram. Veja a Visão Geral de Autorização para mais informações sobre web- e fluxo de autorização baseada em PIN.

Respostas de erro de token de acesso

Para todas as respostas, do tipo de conteúdo: application/json .

Código de autorização expirado

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
Explicação O código de autorização expirou. Um novo código de autorização é necessário para solicitar um token de acesso.

Código de autorização não encontrado

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
Explicação O code parâmetro é inválido. Verifique se você está usando o código de autorização correto.

Cliente não ativo

Detalhes
Código de status HTTP 403 Proibido
Corpo {
"error":"client_not_active",
"error_description":"client is not active"
}
Explicação Verifique se você está usando os corretos parâmetros . Se os parâmetros estiverem corretos e o erro ocorrer apenas para alguns métodos de autorização (por exemplo, a autorização foi bem-sucedida usando o Postman, mas não usando o Curl), pode haver algo errado com sua sintaxe.

Este erro também ocorre se o seu cliente estiver desativado.

Segredo do cliente não encontrado

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"oauth2_error",
"error_description":"client secret not found"
}
Explicação O client_secret parâmetro é inválido. Verifique se você está usando o correto client_secret valor.

Parâmetros obrigatórios ausentes

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Explicação Um parâmetro necessário, PARAM_NAME , está faltando o acesso a solicitação de token.

redirect_uri não permitido

Detalhes
Código de status HTTP 400 Bad Request
Corpo {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
Explicação O redirect_uri parâmetro foi utilizado no acesso a solicitação de token.