Auf dieser Seite wird beschrieben, wie Sie die API-Schlüsselmethoden für folgende Aufgaben verwenden:
- API-Schlüssel in einem Projekt auflisten
- Metadaten für einen API-Schlüssel abrufen
- Schlüsselstring abrufen
- Schlüsselname und Projekt für einen Schlüsselstring abrufen
API-Schlüssel in einem Projekt auflisten
Mit der Methode
ListKeys können Sie eine Liste aller Schlüssel abrufen, die zu einem Google Cloud Projekt gehören:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys'
Bei Erfolg erhalten Sie eine Antwort ähnlich der folgenden:
{
"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=="
}
]
}Standardmäßig gibt die Methode ListKeys eine Liste der verwendbaren API-Schlüssel zurück.
Wenn Sie die Liste aller Schlüssel einschließlich der Schlüssel aufrufen möchten, die zur Löschung markiert sind, fügen Sie
den Abfrageparameter show_deleted=truehinzu:
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'
Bei Erfolg erhalten Sie eine Antwort ähnlich der folgenden:
{
"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=="
}
]
}Im Feld deleteTime wird gespeichert, wann der Löschbefehl ausgegeben wurde.
Schlüssel werden 30 Tage nach der Ausgabe des Löschbefehls endgültig gelöscht.
Wenn Ihr Projekt viele API-Schlüssel enthält, sollten Sie die Ergebnisse paginieren, anstatt alle Schlüssel zurückzugeben. Wenn Sie die Anzahl der Ergebnisse pro Seite steuern möchten, fügen Sie den Abfrageparameter pageSize hinzu und legen Sie ihn auf die Anzahl der Ergebnisse fest, die zurückgegeben werden sollen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?pageSize=25'
Am Ende der Antwort befindet sich das Feld nextPageToken. Wenn Sie die nächste Seite mit Ergebnissen abrufen möchten, fügen Sie das Token im nächsten Aufruf hinzu, indem Sie den Abfrageparameter pageToken hinzufügen:
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'
Metadaten für einen API-Schlüssel abrufen
Wenn Sie Metadaten zu einem bestimmten API-Schlüssel abrufen möchten, rufen Sie die Methode GetKey mit Key.name auf:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID'
Schlüsselstring abrufen
Aus Sicherheitsgründen geben die Methoden ListKeys und GetKey nicht Key.keyString zurück. Wenn Sie keyString für einen API-Schlüssel abrufen möchten, rufen Sie die Methode GetKeyString mit Key.name auf:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/Key.name/keyString'
Der aufrufende Nutzer muss die Berechtigung apikeys.keys.getKeyString haben, um die Methode GetKeyString aufrufen zu können.
Schlüsselname und Projekt anhand des Schlüsselstrings suchen
Wenn Sie einen keyString haben und den Schlüssel name und das Projekt suchen müssen, zu dem der API-Schlüssel gehört, rufen Sie die Methode LookupKey auf und geben Sie den Abfrageparameter keyString an:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING'
Die Antwort ähnelt dem folgenden Beispiel:
{
"parent": "projects/12345678/locations/global",
"name": "projects/12345678/locations/global/keys/2c437be3-1c77-417b-8f6f-748189760227"
}Die Antwort sieht so aus:
- Das Feld
parententhält die Projektnummer des Google Cloud Projekts , in dem der API-Schlüssel erstellt wurde. - Das Feld
nameenthält die eindeutige Kennzeichnung für den API-Schlüssel.