Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Riferimento di autorizzazione

Richiesta codice di autorizzazione

A seconda del tipo di richiesta, implementiamo diverse lunghezze di codice e valori TTL (Time-to-Live):

Flusso TTL Lunghezza del codice
ragnatela 10 minuti 16 caratteri
PIN 48 ore 8 caratteri

parametri

I parametri di autorizzazione supportati nell'API Nest sono:

Nome genere necessario Descrizione
client_id corda Disponibile sulla pagina dei clienti OAuth.
redirect_uri corda no Utilizzare questo per specificare l'URI di reindirizzamento desiderato se sono configurati più URI di reindirizzamento per il client. Omettilo per usare l'URI di reindirizzamento predefinito.

Non includere altri parametri nel parametro redirect_uri stesso, deve corrispondere esattamente a un URI di reindirizzamento configurato per il client.
state corda Usa questo per specificare un valore non indovinabile per combattere gli attacchi CSRF . In caso contrario, utilizzare il valore predefinito di STATE .

Messaggi di errore di autorizzazione basati su PIN

I seguenti messaggi di errore possono essere visualizzati agli utenti durante le richieste di codice di autorizzazione basate su PIN:

Messaggio di errore dell'utente Spiegazione
ID client o parametri di stato mancanti. Nell'URL di autorizzazione manca il parametro client_id o state o entrambi. Assicurarsi che l'URL di autorizzazione passato sia completo e accurato.
Oops! Abbiamo riscontrato un errore. Per favore riprova. Questo errore si verifica da quanto segue:
  • Il servizio Nest è inattivo. Attendere fino al ripristino del servizio Nest.
  • Non esiste un client per il client_id . Assicurarsi che l'URL di autorizzazione passato stia utilizzando il client_id corretto.
La connessione al nome dell'azienda non è al momento disponibile. Si prega di contattare Nest per ulteriori informazioni. Il client ha superato la quota utente. Invia il tuo cliente per la revisione per aggiungere più utenti.

Reindirizzare le risposte di errore di autorizzazione basate su URI

Per tutte le risposte, tipo di contenuto: application/json .

Parametri richiesti mancanti

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Spiegazione Un parametro richiesto, PARAM_NAME , manca nella richiesta del codice di autorizzazione.

redirect_uri non pre-registrato

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
Spiegazione Il parametro redirect_uri utilizzato nella richiesta del token di accesso non corrisponde a nessuno degli URI di reindirizzamento configurati per il client.

Richiesta token di accesso

Ti consigliamo di rispettare questo standard OAuth , che offre una maggiore sicurezza includendo le credenziali del client nel corpo della richiesta. Le chiamate con le credenziali client nell'intestazione continueranno a funzionare, ma non sono consigliate.

La richiesta del token di accesso ha la forma di una richiesta POST HTTP.

parametri

Nome genere necessario Descrizione
code corda Il codice di autorizzazione che viene passato dopo che il cliente accetta di dare alla tua app l'accesso ai dati Nest. Questo valore è fornito da una richiesta di codice di autorizzazione riuscita.

Scopri come impostare l'autorizzazione
client_id corda Disponibile sulla pagina dei clienti OAuth.
client_secret corda Disponibile sulla pagina dei clienti OAuth; può anche essere chiamato chiave dell'applicazione.
grant_type corda Deve essere questa stringa: authorization_code

Risposta

Per tutte le risposte, tipo di contenuto: application/json

Codice di stato HTTP Descrizione Corpo
200 OK Il token di accesso viene restituito. Utilizzare il token di accesso nelle chiamate al servizio Nest. LUNGO è il numero di secondi fino alla scadenza del token. {
"access_token":"STRING",
"expires_in":LONG
}

Durata token di accesso

Non supportiamo i token di aggiornamento , poiché i token di accesso non sono in scadenza. Vedere la Panoramica delle autorizzazioni per ulteriori informazioni sul flusso di autorizzazioni basato su Web e PIN.

Risposte agli errori del token di accesso

Per tutte le risposte, tipo di contenuto: application/json .

Codice di autorizzazione scaduto

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
Spiegazione Il codice di autorizzazione è scaduto. È necessario un nuovo codice di autorizzazione per richiedere un token di accesso.

Codice di autorizzazione non trovato

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
Spiegazione Il parametro del code non è valido. Verifica di utilizzare il codice di autorizzazione corretto.

Client non attivo

Dettagli
Codice di stato HTTP 403 proibito
Corpo {
"error":"client_not_active",
"error_description":"client is not active"
}
Spiegazione Verifica di utilizzare i parametri corretti. Se i parametri sono corretti e l'errore si verifica solo per alcuni metodi di autorizzazione (ad esempio, l'autorizzazione ha esito positivo con Postman, ma non con Curl), potrebbe esserci qualcosa di sbagliato nella sintassi.

Questo errore si verifica anche se il client è disattivato.

Segreto client non trovato

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"oauth2_error",
"error_description":"client secret not found"
}
Spiegazione Il parametro client_secret non è valido. Verifica di utilizzare il valore client_secret corretto.

Parametri richiesti mancanti

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Spiegazione Un parametro richiesto, PARAM_NAME , manca nella richiesta del token di accesso.

redirect_uri non consentito

Dettagli
Codice di stato HTTP 400 Richiesta non valida
Corpo {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
Spiegazione Il parametro redirect_uri stato utilizzato nella richiesta del token di accesso.