Ottenere informazioni sulle chiavi API

Questa pagina descrive come utilizzare i metodi della chiave API per:

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 parent contiene il numero di progetto del progetto Google Cloud in cui è stata creata la chiave API.
  • Il campo name contiene l'identificatore univoco della chiave API.

Passaggi successivi