Obtener información sobre las claves de API

En esta página, se describe cómo usar los métodos clave de API para lo siguiente:

Antes de comenzar

La página usa curl con la herramienta de línea de comandos oauth2l para enviar solicitudes a la API de claves de API. Consulta Comenzar a usar las claves de API para obtener detalles sobre cómo configurar la API.

Obtén una lista de las claves de API de un proyecto

Puedes obtener una lista de todas las claves que pertenecen a un proyecto de Google Cloud con el método ListKeys:

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys

Si tienes éxito, obtendrás una respuesta similar a la siguiente:

{
  "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=="
    }
  ]
}

De forma predeterminada, el método ListKeys muestra una lista de claves de API utilizables. A fin de ver las claves de lista que se marcaron para su eliminación, agrega un parámetro de consulta con filter=state:DELETED :

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?filter=state:DELETED

Si tienes éxito, obtendrás una respuesta similar a la siguiente:

{
  "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=="
    }
  ]
}

El campo deleteTime almacena cuando se emitió el comando de eliminación. Las claves se borran de forma permanente 30 días después de que se emite el comando de eliminación.

Si tienes una gran cantidad de claves de API en tu proyecto, es posible que prefieras paginar los resultados en lugar de mostrarlas todas. Para controlar la cantidad o resultados por página, agrega el parámetro de búsqueda pageSize establecido en la cantidad de resultados que deseas mostrar:

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25

El final de la respuesta contiene el campo nextPageToken. Para obtener la siguiente página de resultados, incluye el token en la siguiente llamada; para ello, agrega el parámetro de consulta pageToken:

gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'

Ten en cuenta que debes encerrar la URL entre comillas simples, porque & es un carácter especial de Bash.

Obtén metadatos para una clave de API

Para obtener metadatos sobre una clave de API específica, llama al método GetKey con Key.name:

gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID

Obtén la string de clave

Por seguridad, los métodos ListKeys y GetKey no muestran Key.keyString. Para obtener el keyString de una clave de API, llama al método GetKeyString con Key.name:

gcurl https://apikeys.googleapis.com/v2/Key.name/keyString

El usuario que realiza la llamada debe tener el permiso apikeys.keys.getKeyString para llamar al método GetKeyString.

Busca un nombre de clave y un proyecto por string de clave

Si tienes un keyString y necesitas buscar la clave name y el proyecto al que pertenece la clave de API, llama al método LookupKey y especifica el parámetro de búsqueda keyString:

gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING

La respuesta es similar al ejemplo a continuación:

{
  "parent": "projects/12345678/locations/global",
  "name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}

En la respuesta:

  • El campo parent contiene el número del proyecto de Cloud en el que se creó la clave de API.
  • El campo name contiene el identificador único de la clave de API.

¿Qué sigue?