Questa pagina descrive come utilizzare i metodi della chiave API per:
- Elenca le chiavi API in un progetto
- Ottenere i metadati per una chiave API
- Recuperare la stringa della chiave
- Recuperare il nome della chiave e il progetto per una stringa di chiave
Prima di iniziare
La pagina utilizza curl e Google Cloud CLI per inviare richieste all'API API Keys. Per informazioni dettagliate su come configurare l'API per sperimentarla, consulta la sezione
Introduzione alle chiavi API.
Elenco delle chiavi API in un progetto
Puoi ottenere un elenco di tutte le chiavi di proprietà di un progetto Google Cloud con il metodo
ListKeys:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys
In caso di esito positivo, riceverai una risposta simile alla seguente:
{
"keys": [
{
"name": "projects/12345678/locations/global/keys/2885bf87-5b84-47fa-92af-08c3e9337349",
"displayName": "API key 2",
"createTime": "2019-05-29T22:07:22.036Z",
"uid": "2885bf87-5b84-47fa-92af-08c3e9337349",
"updateTime": "2019-05-29T22:07:22.058623Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "zHib8eXEMCxe4ayQEbIaZg=="
},
{
"name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
"displayName": "API key 1",
"createTime": "2019-05-29T22:06:58.844Z",
"uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
"updateTime": "2019-05-29T22:06:58.855103Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "0L5KcPMGoNi53K5+FqPxiw=="
}
]
}Per impostazione predefinita, il metodo ListKeys restituisce un elenco delle chiavi API utilizzabili.
Per visualizzare l'elenco di tutte le chiavi, incluse quelle contrassegnate per l'eliminazione, aggiungi il parametro di query show_deleted=true:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
In caso di esito positivo, riceverai una risposta simile alla seguente:
{
"keys": [
{
"name": "projects/12345678/locations/global/keys/5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
"displayName": "Key 1",
"createTime": "2019-06-12T04:47:30.214Z",
"uid": "5d3564ad-f08e-48df-b0ca-0f50858ba3f2",
"updateTime": "2021-03-05T22:35:37.387645Z",
"deleteTime": "2021-03-05T22:35:37.290544Z",
"etag": "V96UGAyyz+6sUHttzK42pQ=="
},
{
"name": "projects/12345678/locations/global/keys/7ad567fa-c11b-4903-99dc-88f89da7d73a",
"displayName": "Key 2",
"createTime": "2019-06-12T00:47:27.778Z",
"uid": "7ad567fa-c11b-4903-99dc-88f89da7d73a",
"updateTime": "2021-03-05T22:23:57.002187Z",
"deleteTime": "2021-03-05T22:23:56.350234Z",
"etag": "njPE6YjwHlrh6TLyxHibBg=="
},
{
"name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
"displayName": "API key 1",
"createTime": "2019-05-29T22:06:58.844Z",
"uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
"updateTime": "2019-05-29T22:06:58.855103Z",
"restrictions": {
"androidKeyRestrictions": {}
},
"etag": "0L5KcPMGoNi53K5+FqPxiw=="
}
]
}Il campo deleteTime memorizza la data e l'ora in cui è stato emesso il comando di eliminazione.
Le chiavi vengono eliminate definitivamente 30 giorni dopo l'emissione del comando di eliminazione.
Se hai molte chiavi API nel tuo progetto, potresti preferire impaginare i risultati anziché visualizzare tutte le chiavi. Per controllare il numero di risultati per pagina, aggiungi il parametro di query pageSize impostato sul numero di risultati che vuoi restituire:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25
La fine della risposta contiene il campo nextPageToken. Per ottenere la pagina successiva
dei risultati, includi il token nella chiamata successiva aggiungendo il parametro
di query pageToken:
gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Tieni presente che devi racchiudere l'URL tra virgolette singole perché & è un
carattere speciale di Bash.
Ottenere i metadati per una chiave API
Per ottenere i metadati di una chiave API specifica, chiama il metodo GetKey con
Key.name:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
Recupero della stringa della chiave
Per motivi di sicurezza, i metodi ListKeys e GetKey non restituiscono
Key.keyString. Per ottenere l'keyString per una chiave API, chiama il metodo GetKeyString con Key.name:
gcurl https://apikeys.googleapis.com/v2/Key.name/keyString
L'utente chiamante deve disporre dell'autorizzazione apikeys.keys.getKeyString per
chiamare il metodo GetKeyString.
Ricerca di un nome di chiave e di un progetto in base alla stringa della chiave
Se hai un keyString e devi cercare la chiave name e il progetto
proprietario della chiave API, chiama il metodo LookupKey e specifica il
parametro di query keyString:
gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING
La risposta è simile alla seguente:
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}Nella risposta:
- Il campo
parentcontiene il numero di progetto del progetto Google Cloud in cui è stata creata la chiave API. - Il campo
namecontiene l'identificatore univoco della chiave API.
Passaggi successivi
- Aggiunta di limitazioni alle chiavi API
- Visualizzazione degli audit log di Cloud
- Risoluzione dei problemi