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
Elenco delle chiavi API in un progetto
Puoi ottenere un elenco di tutte le chiavi di proprietà di un progetto Google Cloud con il metodoListKeys:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Ottenere i metadati per una chiave API
Per ottenere i metadati di una chiave API specifica, chiama il metodo GetKey con
Key.name:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ '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