Nesta página, descrevemos como usar os métodos de chave de API para:
- Listar chaves de API em um projeto
- Receber metadados de uma chave de API
- Acessar a string da chave
- Receber o nome da chave e o projeto de uma string de chave
Antes de começar
A página usa curl e a Google Cloud CLI para enviar solicitações à
API Keys. Consulte
Como começar a usar as chaves de API
para saber como se preparar para testar a API.
Como listar chaves de API em um projeto
Para conferir uma lista de todas as chaves de um projeto Google Cloud , use o método
ListKeys:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys
Se a operação for bem-sucedida, você vai receber uma resposta semelhante a esta:
{
"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=="
}
]
}Por padrão, o método ListKeys retorna uma lista das chaves de API utilizáveis.
Para conferir a lista de todas as chaves, incluindo as marcadas para exclusão, adicione o parâmetro de consulta show_deleted=true:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
Se a operação for bem-sucedida, você vai receber uma resposta semelhante a esta:
{
"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=="
}
]
}O campo deleteTime armazena quando o comando de exclusão foi emitido.
As chaves são excluídas permanentemente 30 dias após a emissão do comando de exclusão.
Se você tiver muitas chaves de API no seu projeto, talvez prefira paginar os resultados em vez de receber todas as chaves. Para controlar o número ou os resultados por página, adicione o parâmetro de consulta pageSize definido como o número de resultados que você quer receber:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25
O final da resposta contém o campo nextPageToken. Para acessar a próxima página
de resultados, inclua o token na próxima chamada adicionando o parâmetro de consulta pageToken:
gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Coloque o URL entre aspas simples porque & é um caractere especial do Bash.
Como receber metadados de uma chave de API
Para receber metadados sobre uma chave de API específica, chame o método GetKey com o
Key.name:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
Como conseguir a string da chave
Por motivos de segurança, os métodos ListKeys e GetKey não retornam o
Key.keyString. Para receber o keyString de uma chave de API, chame o método GetKeyString com o Key.name:
gcurl https://apikeys.googleapis.com/v2/Key.name/keyString
O usuário que faz a chamada precisa ter a permissão apikeys.keys.getKeyString para
chamar o método GetKeyString.
Pesquisar um nome de chave e um projeto por string de chave
Se você tiver um keyString e precisar pesquisar a chave name e o projeto
que é proprietário da chave de API, chame o método LookupKey e especifique o
parâmetro de consulta keyString:
gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING
O resultado parecido com este:
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}Na resposta:
- O campo
parentcontém o número do projeto Google Cloud em que a chave de API foi criada. - O campo
namecontém o identificador exclusivo da chave de API.
A seguir
- Como adicionar restrições às chaves de API
- Como visualizar os registros de auditoria do Cloud
- Solução de problemas