L'API Roads Selection utilizza l'API Roads Selection come componente principale che fornisce i dati stradali a BigQuery e Pub/Sub.
L'API Roads Selection supporta l'utilizzo di OAuth 2.0 per l'autenticazione. Google supporta gli scenari OAuth 2.0 più comuni, come quelli per un server web.
Questo documento descrive come passare un token OAuth alla chiamata API Roads Selection nel tuo ambiente di sviluppo. Per saperne di più sull'utilizzo di OAuth in un ambiente di produzione, consulta Autenticazione in Google.
Prima di iniziare
Prima di iniziare a utilizzare l'API Roads Selection, devi avere un progetto con un account di fatturazione e l'API Roads Selection abilitata. Per saperne di più, consulta Configura nella console Cloud.
Informazioni su OAuth
Puoi creare e gestire i token di accesso con OAuth in diversi modi, a seconda dell'ambiente di deployment.
Ad esempio, il sistema Google OAuth 2.0 supporta le interazioni server-to-server, come quelle tra la tua applicazione e un servizio Google. Per questo scenario, devi disporre di un service account, ovvero un account che appartiene alla tua applicazione anziché a un singolo utente. La tua applicazione chiama le API di Google per conto del service account perché gli utenti non sono direttamente coinvolti. Per saperne di più sui metodi di autenticazione, consulta Autenticazione in Google.
In alternativa, puoi utilizzare l'API Roads Selection come parte di un'app mobile Android o iOS. Per ulteriori informazioni sull'utilizzo di OAuth con l'API Roads Selection, incluse informazioni sulla gestione dei token di accesso per diversi ambienti di deployment, consulta Utilizzo di OAuth 2.0 per accedere alle API di Google.
Informazioni sugli ambiti OAuth
Per utilizzare OAuth con l'API Roads Selection, il token OAuth deve avere l'ambito https://www.googleapis.com/auth/cloud-platform.
Esempio: prova le chiamate API REST nel tuo ambiente di sviluppo locale
Se vuoi provare l'API Roads Selection utilizzando un token OAuth, ma non hai un ambiente configurato per generare token, segui la procedura descritta in questa sezione per effettuare la richiesta.
Questo esempio descrive come utilizzare il token OAuth fornito dalle Credenziali predefinite dell'applicazione (ADC) per effettuare la chiamata. Per saperne di più sull'utilizzo di ADC per chiamare le API di Google con le librerie client, consulta Autenticati utilizzando le librerie client.
Prerequisiti
Prima di poter effettuare una richiesta REST utilizzando ADC, utilizza Google Cloud CLI per fornire le credenziali ad ADC:
- Se non l'hai ancora fatto, crea un progetto e abilita la fatturazione seguendo i passaggi descritti in Configura nella console Cloud.
- Installa e inizializza gcloud CLI.
Per creare il file delle credenziali, esegui il comando
gcloudsulla tua macchina locale:gcloud auth application-default login
- Quando richiesto, accedi. Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC.
Per saperne di più, consulta la sezione Ambiente di sviluppo locale della documentazione Fornisci credenziali per Credenziali predefinite dell'applicazione.
Effettua una richiesta REST
In questo esempio, passi due intestazioni della richiesta:
Passa il token OAuth nell'intestazione
Authorizationutilizzando il seguente comando per generare il token:gcloud auth application-default print-access-tokenIl token restituito ha un ambito di
https://www.googleapis.com/auth/cloud-platform.- Passa l'ID o il nome del tuo progetto cloud Google Cloud con la fatturazione abilitata nell'intestazione
X-Goog-User-Project. Per saperne di più, consulta Configura nella console Cloud.
Effettua una chiamata all'API Roads Selection utilizzando un token OAuth:
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID
Risoluzione dei problemi
Se la richiesta restituisce un messaggio di errore relativo alle credenziali dell'utente finale non supportate da questa API, consulta Le credenziali utente non funzionano.