Notice: We're retiring Works with Nest. See the home page for more information.
O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Referência autorização

Pedido do código de autorização

Dependendo do tipo de solicitação, vamos implementar diferentes comprimentos de código e TTL (Time-to-Live) valores:

Fluxo TTL comprimento de código
Rede 10 minutos 16 caracteres
PIN 48 horas 8 caracteres

parâmetros

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

Nome Tipo Requeridos Descrição
client_id corda sim Disponível na página Clientes OAuth.
redirect_uri corda não Utilize-o para especificar o redirecionamento desejado URI se várias URIs de redirecionamento são configurados para o seu cliente. Omiti-lo a usar o seu padrão de redirecionamento URI.

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 corda 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 autorização baseada em PIN

As seguintes mensagens de erro pode ser exibida aos usuários durante solicitações de código de autorização baseadas em PIN:

Mensagem de erro do usuário Explicação
Faltando parâmetros ID do cliente ou estaduais. O URL de autorização está faltando ou o client_id ou state parâmetro, ou ambos. Verifique se o URL de autorização passado é completa e precisa.
Ops! Nós já encontrou 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 é restaurada.
  • 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 ninho para mais informações. O cliente tem excedido a quota do usuário. Envie seu cliente para revisão para adicionar mais usuários.

respostas de erro autorização Redirect URI baseada em

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

Faltando parâmetros necessários

detalhes
HTTP Status Código 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é-registadas

detalhes
HTTP Status Código 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. Chamadas com credenciais do cliente no cabeçalho vai continuar a trabalhar, mas não são recomendados.

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

parâmetros

Nome Tipo Requeridos Descrição
code corda sim O código de autorização que é passado após seu cliente concorda em dar o seu acesso app aos dados ninho. Este valor é fornecido por um pedido código de autorização bem sucedida.

Saiba como configurar autorização
client_id corda sim Disponível na página Clientes OAuth.
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 string: authorization_code

Resposta

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

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

vida 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 token de acesso

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

código de autorização expirou

detalhes
HTTP Status Código 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ária para solicitar um token de acesso.

código de autorização não foi encontrado

detalhes
HTTP Status Código 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 correta.

Cliente não ativa

detalhes
HTTP Status Código 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 estão corretos, eo erro ocorre apenas para alguns métodos de autorização (por exemplo, a autorização é bem sucedido usando Postman, mas não usando curl), pode haver algo errado com sua sintaxe.

Este erro também ocorre se o seu cliente está desactivada.

segredo do cliente não encontrado

detalhes
HTTP Status Código 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.

Faltando parâmetros necessários

detalhes
HTTP Status Código 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 permitidos

detalhes
HTTP Status Código 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.