Referência de autorização | Nest Developers
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 (Time-to-Live):
Comprimento do código
Rede 10 minutos 16 caracteres
Os parâmetros de autorização suportados na API Nest são:
client_id corda sim Disponível na página Clientes OAuth.
redirect_uri corda não Use isso para especificar o URI de redirecionamento desejado se vários URIs de redirecionamento estiverem configurados para o seu cliente. Omita-o para usar seu URI de redirecionamento padrão.
Não inclua outros parâmetros dentro do próprio parâmetro redirect_uri , ele deve corresponder exatamente a um URI de redirecionamento configurado para o seu cliente.
state corda sim Use isso para especificar um valor não adivinhado para combater ataques CSRF . Caso contrário, use o valor padrão de STATE .
Nota: Algumas bibliotecas OAuth vinculam parâmetros a uma solicitação de autorização por padrão. Para evitar erros de OAuth, retire todos os parâmetros extras e verifique se o parâmetro redirect_uri corresponde a um URI de redirecionamento configurado para o seu cliente antes de fazer a solicitação de autorização.
Mensagens de erro de autorização baseadas em PIN
As seguintes mensagens de erro podem ser exibidas aos usuários durante solicitações de código de autorização com base em PIN:
Mensagem de erro do usuário
ID do cliente ou parâmetros de estado ausentes. O URL de autorização está ausente no parâmetro client_id ou state , ou ambos. Verifique se o URL de autorização aprovado está completo e preciso.
Opa! Encontramos um erro. Por favor, tente novamente. Este erro ocorre do seguinte:
O serviço Nest está inoperante. Aguarde até que o serviço Nest seja restaurado.
Um cliente não existe para o client_id fornecido. Verifique se a URL de autorização passada está usando o client_id correto.
A conexão com o nome da empresa não está disponível no momento. 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, digite o conteúdo: application/json .
Parâmetros necessários ausentes
Código de status HTTP 400 Solicitação incorreta
Explicação Um parâmetro obrigatório, PARAM_NAME , está ausente na solicitação de código de autorização.
redirect_uri não pré-registrado
Explicação O parâmetro redirect_uri usado na solicitação de token de acesso não corresponde a nenhum dos URIs de redirecionamento configurados para o seu cliente.
Recomendamos que você cumpra esse padrão OAuth , que oferece maior segurança ao incluir 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 do token de acesso está na forma de uma solicitação HTTP POST.
code corda sim O código de autorização que é passado depois que seu cliente concorda em conceder 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_secret corda sim Disponível na página Clientes OAuth; também pode ser chamado de chave do aplicativo.
grant_type corda sim Deve ser esta sequência: authorization_code
Para todas as respostas, digite o conteúdo: application/json
200 OK O token de acesso é retornado. Use o token de acesso nas chamadas para o serviço Nest. LONG é o número de segundos até o token expirar. {
Não oferecemos suporte a tokens de atualização , porque os tokens de acesso não expiram. Consulte a Visão geral da autorização para obter mais informações sobre o fluxo de autorização baseado na Web e no PIN.
Respostas de erro do token de acesso
Código de autorização expirado
Explicação O código de autorização expirou. É necessário um novo código de autorização para solicitar um token de acesso.
Código de autorização não encontrado
Explicação O parâmetro code é inválido. Verifique se você está usando o código de autorização correto.
Código de status HTTP 403 Proibido
Explicação Verifique se você está usando os parâmetros corretos. Se os parâmetros estiverem corretos e o erro ocorrer apenas em 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
Explicação O parâmetro client_secret é inválido. Verifique se você está usando o valor correto client_secret .