Esta página explica como criar e gerenciar chaves de API usando a API API Keys.
Para saber como usar uma chave de API com suas chamadas para APIs do Google Cloud , consulte Como usar chaves de API.
Criar chave de API
É possível criar uma chave de API usando o método CreateKey. O método requer um parâmetro Key.
Só é possível especificar os campos displayName e restrictions do objeto Key.
O CreateKey não é um método síncrono. Em vez disso, quando você faz uma chamada
para CreateKey, inicia uma operação
de longa duração. O exemplo a seguir
emite uma chamada CreateKey para criar uma chave de API sem restrições:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "displayName" : "Example API key" }' \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys'
Se for bem-sucedido, o método vai retornar uma operação de longa duração na resposta. Conforme
descrito em
Como pesquisar operações de longa duração, você
faz repetidamente chamadas operations.get
com o valor do campo name. Quando a resposta de operations.get
contém "done": true, o objeto response contém um Key, semelhante a este:
{ "name": "operations/akmf.p7-103621867718-06f94db2-7e91-4c58-b826-e6b80e4dc3eb", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key", "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca", "displayName": "Example API key", "keyString": "----REDACTED----", "createTime": "2021-03-23T17:39:46.721099Z", "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca", "updateTime": "2021-03-23T17:39:47.046746Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
No objeto response:
- O campo
namecontém um identificador exclusivo da chave de API. Use o valor no camponamenos outros métodos que exigem um nome de chave. Esse valor não é exibido no console do Google Cloud , mas você pode chamar o métodoListKeyspara receber onamesde todas as suas chaves de API. O campoKey.nameestá sempre no seguinte formato:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID. - O campo
displayNameé mapeado para o campoNameno consoleGoogle Cloud . Por isso, talvez seja necessário fornecer umdisplayNameao chamarCreateKey. - O campo
keyStringcontém a string que você envia para as APIs que exigem uma chave de API. OkeyStringé mapeado para o campoAPI keyno consoleGoogle Cloud . Você pode chamar o métodoGetKeyStringpara receber okeyStringde uma chave de API. - O campo
etagcontém um checksum calculado pelo servidor com base no valor atual da chave. Transmita o valoretagao chamar os métodosUpdateKeyeDeleteKey.
ID da chave especificado pelo usuário
É possível especificar um
keyId
como um parâmetro de consulta para o método CreateKey. Quando especificado, o valor se torna o componente final do Key.name.
Por exemplo, considere a seguinte chamada para CreateKey:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "displayName" : "Example API key with user-specified ID" }' \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?keyId=my-test-key1'
Para este exemplo, o campo Key.name tem o seguinte valor:
"name": "projects/PROJECT_NUMBER/locations/global/keys/my-test-key1"
Atualizar o nome de exibição
Para mudar o displayName de uma chave de API ou adicionar um displayName a uma chave criada sem um, chame o método UpdateKey. Ao
chamar UpdateKey, você inicia uma operação de longa duração que atualiza a chave.
O exemplo a seguir ilustra como chamar UpdateKey: