DeveloperI possono utilizzare l'API SDM per visualizzare e gestire i dispositivi Google Nest per conto dei userL' API SDM verifica che il user gestisca i dispositivi a cui si accede, che l' user abbia acconsentito alla developer lettura o alla scrittura dei tratti di ciascun dispositivo e che l' developer sia stato inserito nella lista consentita per l'accesso a ogni tratto.
Per utilizzare l'API SDM per la gestione dei dispositivi, il developer deve prima essere autorizzato dal user.
Per una procedura dettagliata del processo di autorizzazione, consulta la pagina Autorizzare un account della Device Access guida rapida.
Per assistenza nella risoluzione dei problemi relativi agli errori di autorizzazione, vedi Authorization Errors.
Flusso OAuth
L'API SDM utilizza un flusso Google OAuth a tre vie per user l'autorizzazione:
- Quando a user vuole autorizzare a developer per la gestione dei dispositivi Nest, il developer invia il user a PCM, dove il user accede al proprio Account Google.
- Il user seleziona le autorizzazioni da concedere al developer in PCM.
- Il user fornisce il consenso tramite OAuth, concedendo al developer un codice di autorizzazione.
- Il developer utilizza il codice di autorizzazione per recuperare un token di accesso.
- Il developer utilizza il token di accesso con le chiamate all' API SDM per la gestione dei dispositivi.
Per saperne di più su Google OAuth e su come configurarlo, vedi Utilizzare OAuth 2.0 per accedere alle API di Google.
Gestione connessioni partner (PCM)
PCM è fornito dall'API SDM. È una visualizzazione che elenca tutte le strutture, i dispositivi e le opzioni di accesso che iluser può concedere al developer. Il user sceglie a cosa concedere l'accesso durante il processo di autorizzazione e mantiene il controllo di questo accesso.
Le opzioni selezionate in PCM vengono mappate ai gruppi di tratti, che sono raccolte di tratti a cui il developer avrà accesso. Alcuni gruppi di tratti sono collegati tra loro, a seconda del tipo di integrazione che il developer offre al user, e il user deve concedere le autorizzazioni per questi gruppi di tratti collegati per abilitare l'integrazione. In caso contrario, l'utente ha la possibilità di concedere le autorizzazioni per i singoli gruppi di tratti non collegati, a seconda delle esigenze.
Abilitare PCM
Per abilitare la visualizzazione PCM per un user, sostituisci l' endpoint OAuth 2.0 standard dell'API Google con questo nuovo endpoint OAuth per la richiesta di autorizzazione:
https://nestservices.google.com/partnerconnections/project-id/authUtilizza questi parametri nell'URL:
| Parametro | Descrizione |
|---|---|
redirect_uri |
L'URI a cui indirizzare il user dopo l'autorizzazione. |
client_id |
L'ID client OAuth 2.0 del tuo progetto Google Cloud. Assicurati che sia lo stesso associato al tuo Project ID. Tieni presente che un ID client OAuth deve essere valido e univoco per un projecte non può essere condiviso con altri projects. |
access_type |
Valore da utilizzare: offline |
prompt |
Valore da utilizzare: consent |
response_type |
Valore da utilizzare: codeÈ previsto un codice di autorizzazione in cambio. |
scope |
Valore da utilizzare: https://www.googleapis.com/auth/sdm.service
L'ambito dell'API SDM. |
state |
Facoltativo. Un valore opaco utilizzato dal developer client per mantenere lo stato tra la richiesta e il callback. |
Esempio di URL PCM:
https://nestservices.google.com/partnerconnections/
2f6989ca-c756-4625-8cdc-d5b1edfb2dcd/auth?
redirect_uri=https://www.example.com/api/link/M258KP8OWYZDVQ&
client_id=418235700063-sdkiav89orn5r1nvrcr5t210qqjimq8l.apps.googleusercontent.com&
access_type=offline&
prompt=consent&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.serviceDopo che il user concede l'autorizzazione, viene restituito un codice di autorizzazione
come parametro code nell'URI di reindirizzamento. Utilizza questo codice per ottenere un token di accesso.
Aggiungere PCM all'app
Nella tua app, aggiungi la visualizzazione PCM utilizzando questo URL:
https://nestservices.google.com/partnerconnectionsQuando il user ha eseguito l'accesso, questa pagina mostra tutti i suoi collegati Device Access developers, nonché un elenco di tutte le strutture e i dispositivi con i pulsanti di attivazione/disattivazione per la concessione e la revoca delle autorizzazioni. Il user può anche disconnettere una connessione partner per ogni partner da questa pagina.
App non verificate
L'API SDM utilizza un ambito con limitazioni, il che significa che tutte le app che utilizzano questo ambito durante l'autorizzazione saranno "non verificate" a meno che non venga completata la verifica dell'API OAuth. Quando utilizzi Device Access per uso personale, la verifica dell'API OAuth non è obbligatoria.
Durante il processo di autorizzazione
potresti visualizzare la schermata "Google non ha verificato questa app", che viene visualizzata se l'ambito sdm.service non è configurato su
tuo schermata per il consenso OAuth in Google Cloud. Puoi ignorare questa schermata facendo clic sull'opzione Avanzate e poi su Vai a Nome progetto (non sicuro).
Per saperne di più, vedi Schermata dell'app non verificata.
Token di accesso
Tutte le chiamate all'API SDM per gestire le strutture e i dispositivi autorizzati devono utilizzare il token di accesso univoco concesso al developer dal user durante l'autorizzazione. I token di accesso hanno una durata limitata e devono essere aggiornati regolarmente per garantire l'accesso continuo.
Se a user in seguito revoca developer l'accesso a una struttura o a un dispositivo, il token di accesso scade immediatamente e non può essere aggiornato e il developer non potrà più chiamare l'API SDM per conto di quel user.
Revocare l'autorizzazione dell'account
Esistono diversi modi per annullare l'autorizzazione di un Account Google. Il metodo preferito è che l'utente utilizzi Gestione connessioni partner (PCM) per modificare le autorizzazioni dell'account. Per saperne di più, vedi Modificare le autorizzazioni dell'account. Un token di accesso può essere revocato anche con i seguenti metodi:
L'utente può revocare l'accesso all'indirizzo https://myaccount.google.com/permissions.
Lo sviluppatore può passare il token di accesso all'endpoint
https://oauth2.googleapis.com/revoke. Per saperne di più su Google OAuth e sulla revoca dei token, vedi Revocare un token.
WebView incorporate
Le nuove norme relative ai browser sicuri vietano le richieste Google OAuth nelle librerie dei browser incorporati, comunemente chiamate WebView incorporate. Tutte le WebView incorporate verranno bloccate. Le librerie WebView incorporate sono problematiche perché consentono a uno sviluppatore malintenzionato di intercettare e modificare le comunicazioni tra Google e i suoi utenti. Le WebView incorporate non influiscono solo sulla sicurezza dell'account, ma potrebbero influire sull'usabilità dell'applicazione.
Se sei interessato da queste norme, consulta l'articolo del Centro assistenza Modifiche di sicurezza imminenti all'endpoint di autorizzazione OAuth 2.0 di Google nelle WebView incorporate.