Auf dieser Seite wird beschrieben, wie Sie API-Schlüssel mit der API Keys API erstellen und verwalten.
Informationen zur Verwendung eines API-Schlüssels mit Ihren Aufrufen von Google Cloud -APIs finden Sie unter API-Schlüssel verwenden.
Hinweise
Auf der Seite werden curl und die Google Cloud CLI verwendet, um Anfragen an die API Keys API zu senden. Weitere Informationen zur Einrichtung für Tests mit der API finden Sie unter Erste Schritte mit der API Keys API.
API-Schlüssel erstellen
Sie können einen API-Schlüssel mit der Methode CreateKey erstellen. Für die Methode ist ein Key-Parameter erforderlich.
Sie können nur die Felder displayName und restrictions des Key-Objekts angeben.
CreateKey ist keine synchrone Methode. Stattdessen wird durch einen Aufruf von CreateKey ein Vorgang mit langer Ausführungszeit initiiert. Im folgenden Beispiel wird ein CreateKey-Aufruf ausgeführt, um einen API-Schlüssel ohne Einschränkungen zu erstellen:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys -X POST -d '{"displayName" : "Example API key"}'Bei Erfolg gibt die Methode einen Vorgang mit langer Ausführungszeit in der Antwort zurück. Wie unter Vorgänge mit langer Ausführungszeit abfragen beschrieben, führen Sie wiederholt operations.get-Aufrufe mit dem Wert aus dem Feld name aus. Wenn die Antwort von operations.get "done": true enthält, enthält das response-Objekt ein Key, das dem folgenden ähnelt:
{ "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==" } }
Im response-Objekt:
- Das Feld
nameenthält eine eindeutige Kennzeichnung für den API-Schlüssel. Sie verwenden den Wert im Feldnamein den anderen Methoden, für die ein Schlüsselname erforderlich ist. Dieser Wert wird in der Google Cloud Console nicht angezeigt, aber Sie können die MethodeListKeysaufrufen, um dennamesfür alle Ihre API-Schlüssel abzurufen. Das FeldKey.namehat immer das folgende Format:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID. - Das Feld
displayNamewird dem FeldNamein derGoogle Cloud -Konsole zugeordnet. Daher sollten Sie möglicherweise eindisplayNameangeben, wenn SieCreateKeyaufrufen. - Das Feld
keyStringenthält den String, den Sie an die APIs senden, für die ein API-Schlüssel erforderlich ist. Das FeldkeyStringentspricht dem FeldAPI keyin derGoogle Cloud Console. Sie können die MethodeGetKeyStringaufrufen, um diekeyStringfür einen API-Schlüssel abzurufen. - Das Feld
etagenthält eine Prüfsumme, die vom Server auf Grundlage des aktuellen Werts des Schlüssels berechnet wird. Übergeben Sie den Wertetag, wenn Sie die MethodenUpdateKeyundDeleteKeyaufrufen.
Vom Nutzer angegebene Schlüssel-ID
Sie können keyId als Abfrageparameter für die Methode CreateKey angeben. Wenn angegeben, wird der Wert zur letzten Komponente von Key.name.
Betrachten Sie beispielsweise den folgenden Aufruf von CreateKey:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?keyId=my-test-key1 -X POST -d '{"displayName" : "Example API key"}'In diesem Beispiel hat das Feld Key.name den folgenden Wert:
"name": "projects/PROJECT_NUMBER/locations/global/keys/my-test-key1"
Anzeigename wird aktualisiert
Wenn Sie die displayName eines API-Schlüssels ändern oder einem API-Schlüssel, der ohne displayName erstellt wurde, eine displayName hinzufügen möchten, rufen Sie die Methode UpdateKey auf. Wenn Sie UpdateKey aufrufen, wird ein Vorgang mit langer Ausführungszeit initiiert, der den Schlüssel aktualisiert.
Das folgende Beispiel zeigt, wie UpdateKey aufgerufen wird:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?updateMask=displayName -X PATCH -d '{"displayName": "New display name", "etag" : "ETAG"}'Wenn die Antwort von operations.get "done": true enthält, enthält response ein Key-Objekt mit dem aktualisierten displayName.
API-Schlüssel löschen
Verwenden Sie die Methode DeleteKey, um einen API-Schlüssel zu löschen. Wenn Sie DeleteKey aufrufen, wird ein Vorgang mit langer Ausführungszeit gestartet, der den Schlüssel als DELETED markiert.
Das folgende Beispiel zeigt, wie DeleteKey aufgerufen wird:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?etag="ETAG" -X DELETE
Wenn die Antwort von operations.get "done": true enthält, sieht response etwa so aus:
{ "name": "operations/akmf.cdabc4df-cbff-4420-8c7e-65dc832c945d", "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", "deleteTime": "2021-03-24T22:35:37.290544Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
Ein API-Schlüssel, der als DELETED gekennzeichnet ist, kann nicht verwendet werden, wird aber auch nicht vollständig aus unserem System entfernt. Wenn Sie die API-Schlüssel auflisten möchten, die noch vorhanden sind, aber als DELETED gekennzeichnet sind, setzen Sie show_deleted für die Methode ListKeys auf „true“:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
Nach 30 Tagen wird der API-Schlüssel endgültig gelöscht.
API-Schlüssel wiederherstellen
Wenn Sie einen API-Schlüssel wiederherstellen möchten, bevor er endgültig gelöscht wird, rufen Sie die Methode UndeleteKey auf. Wenn Sie UndeleteKey aufrufen, wird ein Vorgang mit langer Ausführungszeit gestartet, der den Schlüssel als ACTIVE markiert.
Das folgende Beispiel zeigt, wie UndeleteKey aufgerufen wird:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID/:undelete -X POST
Nächste Schritte
- Informationen zu API-Schlüsseln abrufen
- Einschränkungen zu API-Schlüsseln hinzufügen
- Cloud-Audit-Logs ansehen
- Fehlerbehebung