Utilizzare le chiavi API

I prodotti Google Maps Platform sono protetti da utilizzi non autorizzati limitando le chiamate API a quelle che forniscono le credenziali di autenticazione appropriate. Queste credenziali sono sotto forma di una chiave API, una stringa alfanumerica univoca che associa il tuo account di fatturazione Google al tuo progetto e all'API o all'SDK specifico.

Questa guida mostra come creare, limitare e utilizzare la chiave API per Google Maps Platform.

Prima di iniziare

Prima di iniziare a utilizzare l'API Maps JavaScript, devi avere un progetto con un account di fatturazione e l'API Maps JavaScript attivata. Per scoprire di più, consulta Configurazione in Cloud Console.

Creare chiavi API

La chiave API è un identificatore univoco che autentica le richieste associate al progetto a fini di utilizzo e fatturazione. Devi avere almeno una chiave API associata al progetto.

Per creare una chiave API:

Console

  1. Vai alla pagina Google Maps Platform > Credenziali.

    Vai alla pagina Credenziali

  2. Nella pagina Credenziali, fai clic su Crea credenziali > Chiave API.
    La finestra di dialogo Chiave API creata mostra la chiave API appena creata.
  3. Fai clic su Chiudi.
    La nuova chiave API è elencata nella pagina Credenziali in Chiavi API.
    (Ricorda di limitare la chiave API prima di utilizzarla in produzione.)

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Scopri di più su Google Cloud SDK, sull'installazione di Cloud SDK e sui seguenti comandi:

Limitare le chiavi API

Google consiglia vivamente di limitare le chiavi API limitandone l'utilizzo solo alle API necessarie per la tua applicazione. La limitazione delle chiavi API aggiunge sicurezza alla tua applicazione proteggendola da richieste ingiustificate. Per saperne di più, consulta le best practice per la sicurezza delle API.

Per limitare una chiave API:

Console

  1. Vai alla pagina Google Maps Platform > Credenziali.

    Vai alla pagina Credenziali

  2. Seleziona la chiave API per cui vuoi impostare una limitazione. Viene visualizzata la pagina della proprietà della chiave API.
  3. In Restrizioni relative alle chiavi, imposta le seguenti limitazioni:
    • Restrizioni delle applicazioni:
      1. Per accettare le richieste dall'elenco dei siti web che fornisci, seleziona Referrer HTTP (siti web) dall'elenco delle Restrizioni delle applicazioni.
      2. Specifica uno o più siti web di referrer. Puoi utilizzare i caratteri jolly per autorizzare tutti i sottodomini (ad esempio, https://*.google.com accetta tutti i siti che terminano con .google.com quando si accede tramite HTTPS). Tieni presente che se specifichi www.domain.com, questo agisce come carattere jolly www.domain.com/* e autorizza qualsiasi percorso secondario per quell'hostname. Specifica gli schemi referrer https:// e http:// così come sono. Per altri protocolli URL, devi utilizzare una rappresentazione speciale. Ad esempio, formatta file:///path/to/ come __file_url__//path/to/*. Dopo aver attivato i siti web, assicurati di monitorare l'utilizzo per verificare che sia in linea con le tue aspettative. Sono supportati i seguenti protocolli: about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://.
    • Restrizioni delle API:
      1. Fai clic su Limita chiave.
      2. Seleziona API Maps JavaScript dal menu a discesa Seleziona API. Se l'API Maps JavaScript non è presente nell'elenco, devi abilitarla.
      3. Se il tuo progetto utilizza la raccolta di Places, seleziona anche l'API Places. Analogamente, se il tuo progetto utilizza altri servizi nell'API JavaScript (Directions Service, Distance Matrix Service, Elevation Service e/o Geocoding Service), devi anche attivare e selezionare l'API corrispondente in questo elenco.
  4. Per finalizzare le modifiche, fai clic su Salva.

Cloud SDK

Elenca le chiavi esistenti.

gcloud services api-keys list --project="PROJECT"

Cancella le limitazioni esistenti sulla chiave esistente.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Imposta nuove limitazioni per la chiave esistente.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api-target="maps-backend.googleapis.com"
    --allowed-referrers="referer"

Scopri di più su Google Cloud SDK, sull'installazione di Cloud SDK e sui seguenti comandi:

Aggiungi la chiave API alla richiesta

Devi includere una chiave API in ogni richiesta all'API Maps JavaScript. Nell'esempio seguente, sostituisci YOUR_API_KEY con la tua chiave API.

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>