Cette page explique comment utiliser les méthodes de clé API pour :
- Lister les clés API d'un projet
- Obtenir les métadonnées d'une clé API
- Obtenir la chaîne de clé
- Obtenir le nom et le projet d'une clé à partir d'une chaîne de clé
Avant de commencer
La page utilise curl et la Google Cloud CLI pour envoyer des requêtes à l'API API Keys. Pour savoir comment configurer l'API et l'expérimenter, consultez Premiers pas avec l'API API Keys.
Lister les clés API dans un projet
Vous pouvez obtenir la liste de toutes les clés appartenant à un projet Google Cloud avec la méthodeListKeys :
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys
Si l'opération réussit, vous obtenez une réponse semblable à celle-ci :
{
"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=="
}
]
}Par défaut, la méthode ListKeys renvoie la liste des clés API utilisables.
Pour afficher la liste de toutes les clés, y compris celles qui sont marquées pour suppression, ajoutez le paramètre de requête show_deleted=true :
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
Si l'opération réussit, vous obtenez une réponse semblable à celle-ci :
{
"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=="
}
]
}Le champ deleteTime indique la date et l'heure d'exécution de la commande de suppression.
Les clés sont définitivement supprimées 30 jours après l'exécution de la commande de suppression.
Si votre projet contient de nombreuses clés API, vous préférerez peut-être paginer les résultats plutôt que de les afficher tous. Pour contrôler le nombre de résultats par page, ajoutez le paramètre de requête pageSize défini sur le nombre de résultats que vous souhaitez renvoyer :
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25
La fin de la réponse contient le champ nextPageToken. Pour obtenir la page de résultats suivante, incluez le jeton dans le prochain appel en ajoutant le paramètre de requête pageToken :
gcurl 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25&pageToken=TOKEN'
Notez que vous devez encadrer l'URL avec des guillemets simples, car & est un caractère Bash spécial.
Obtenir les métadonnées d'une clé API
Pour obtenir des métadonnées sur une clé API spécifique, appelez la méthode GetKey avec Key.name :
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
Obtenir la chaîne de clé
Pour des raisons de sécurité, les méthodes ListKeys et GetKey ne renvoient pas le Key.keyString. Pour obtenir le keyString d'une clé API, appelez la méthode GetKeyString avec le Key.name :
gcurl https://apikeys.googleapis.com/v2/Key.name/keyString
L'utilisateur appelant doit disposer de l'autorisation apikeys.keys.getKeyString pour appeler la méthode GetKeyString.
Rechercher un nom de clé et un projet par chaîne de clé
Si vous disposez d'un keyString et que vous devez rechercher la clé name et le projet propriétaire de la clé API, appelez la méthode LookupKey et spécifiez le paramètre de requête keyString :
gcurl https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING
La réponse est semblable à ce qui suit :
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}Dans la réponse :
- Le champ
parentcontient le numéro du projet Google Cloud dans lequel la clé API a été créée. - Le champ
namecontient l'identifiant unique de la clé API.