La lezione precedente ha introdotto la Google Developers Console, le sue finalità e le funzionalità di cui avremo bisogno nel corso di questa guida. Si è
lasciato in sospeso però un aspetto molto importante: le credenziali di accesso ai servizi.
Entrando nella pagina del progetto Google creato, selezioniamo la voce Credentials della sezione APIs & Auth del menu.
Quello che appare in figura, presenta le due vie di accesso ai servizi Google:
-
Public API access: da utilizzare quando non si accede ai dati privati di un account, bensì ad informazioni pubbliche o di proprietà
dello stesso Google; - OAuth: richiesto obbligatoriamente quando si deve accedere ai dati di un account privato.
Questa differenza era stata già anticipata nel capitolo precedente ma qui entreremo in dettaglio mostrando come si potrà ricavare una chiave di accesso in
ognuno dei due casi.
La comprensione di questi aspetti è di fondamentale importanza in quanto costituisce il primo passo da compiere per qualsiasi accesso ai servizi Google.
Identificare la nostra applicazione: chiave SHA-1 e package name
Prima di entrare nel vivo degli argomenti, è necessario fare una piccola digressione che tornerà utile in entrambi i tipi di autenticazione.
Per concedere le chiavi di accesso ai propri servizi, Google ha bisogno di riconoscere univocamente la nostra applicazione.
Il primo dato che ci richiederà in ogni caso è il nome del package Java che utilizziamo (quello indicato nel file manifest, per
intenderci).
L'altro dato da fornire è un codice prodotto sulla macchina di sviluppo mediante algoritmo di hash SHA-1. Per ottenerlo dovremo digitare
uno dei seguenti comandi a seconda del sistema operativo che utilizziamo:
-
per sistemi Windows:
[code]keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android[/code]
-
per sistemi Linux o OS X:
[code]keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android[/code]
L'output prodotto sarà costituito da alcune righe tra le quali ne noteremo una indicante la presenza di una chiave del tipo opportuno:
[code]
…
SHA1: 58:02:7D:B2:6A:A3:BA:51:09:8A:53:3A:8B:67:24:B1:BC:C4:8C:FA
…
[/code]
Public API access
L'accesso alle API pubbliche inizia selezionando il pulsante Create new Key.
La finestra di dialogo che si apre mostra quattro pulsanti: Server key, Browser key, Android key, iOS key. Il motivo
della presenza di queste opzioni è, come si presume, che la Google Developers Console è stata concepita come supporto agli sviluppatori di qualunque
tecnologia.
A noi, ovviamente, interessa il pulsante Android key, che aprirà un'altra finestra di dialogo, mostrata in figura.
Al centro, è collocata una casella di testo che richiede una stringa frutto della concatenazione della chiave SHA-1 e il package Java, separati da un punto
e virgola. Nella figura riportata, abbiamo svolto l'operazione usando la chiave vista in precedenza ed il package it.html.maps.
La pressione del tasto Create avvia la produzione della chiave che nella figura successiva è riconoscibile dall'etichetta API KEY.
Questa chiave ci garantirà il Public API access, la copieremo e la incolleremo nel file manifest della nostra applicazione, in un meta-data all'interno del
tag <application>
:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCmdRMNw6mgzSnkdb9yaxgLanH0xJ7hTtM" />
Questo tipo di credenziale ci servirà presto per accedere alle Google Maps.
OAuth 2.0
Per le attività che richiedono un'autorizzazione mediante protocollo OAuth, si deve creare un Client ID.
Cliccando sul pulsante Create Client ID, anch'esso presente nella prima figura della lezione, si aprirà una finestra di dialogo tramite la quale
accederemo ad una procedura guidata di creazione.
Anche in questo caso, l'interfaccia è uguale per tutte le tecnologie che possono interfacciarsi con i servizi Google.
Per quello che interessa a noi, dovremo selezionare i due radio button con etichette Installed applications e Android. Così facendo ci
verranno mostrati due campi di testo che accoglieranno i dati di cui si è parlato in precedenza: nome del package dell'applicazione e
chiave SHA-1.
Al termine premeremo ancora un pulsante con etichetta Create client ID ed otterremo le credenziali idonee ad interagire con i servizi Google
mediante protocollo OAuth.