API-Schlüssel verwenden

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Plattform auswählen: Android iOS JavaScript Webdienst

Hinweis

Bevor Sie das Places SDK for Android verwenden können, benötigen Sie ein Projekt mit einem Rechnungskonto und das Places SDK for Android. Weitere Informationen

API-Schlüssel erstellen

Der API-Schlüssel ist eine eindeutige ID. Damit werden die mit Ihrem Projekt verknüpften Anfragen zu Verwendungs- und Abrechnungszwecken authentifiziert. Mit Ihrem Projekt muss mindestens ein API-Schlüssel verknüpft sein.

So erstellen Sie einen API-Schlüssel:

Console

  1. Rufen Sie Google Maps Platform > Anmeldedaten auf.

    Zur Seite „Anmeldedaten“

  2. Klicken Sie auf der Seite Anmeldedaten auf Anmeldedaten erstellen > API-Schlüssel.
    Im Dialogfeld API-Schlüssel erstellt wird der neu erstellte API-Schlüssel angezeigt.
  3. Klicken Sie auf Schließen.
    Der neue API-Schlüssel wird auf der Seite Anmeldedaten unter API-Schlüssel aufgeführt.
    Sie müssen den API-Schlüssel einschränken, bevor Sie ihn in der Produktionsumgebung verwenden.

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Weitere Informationen zum Google Cloud SDK, zur Cloud SDK-Installation und zu den folgenden Befehlen:

API-Schlüssel einschränken

Google empfiehlt dringend, die API-Schlüssel einzuschränken, indem Sie ihre Nutzung auf die APIs beschränken, die für Ihre Anwendung erforderlich sind. Wenn Sie Ihre API-Schlüssel einschränken, wird Ihre App sicherer und dafür gesorgt, dass nur autorisierte Anfragen gesendet werden. Weitere Informationen finden Sie unter Best Practices für die API-Sicherheit.

Wenn Sie einen API-Schlüssel einschränken, müssen Sie den Fingerabdruck des SHA-1-Zertifikats des Signaturschlüssels angeben, mit dem die App signiert wurde. Es gibt zwei Arten von Zertifikaten:

  • Debug-Zertifikat: Verwenden Sie diesen Zertifikatstyp nur mit Apps, die Sie testen, und mit Code, der nicht für die Produktionsumgebung bestimmt ist. Veröffentlichen Sie keine Apps, die mit einem Debug-Zertifikat signiert sind. Es wird von den Android SDK-Tools automatisch generiert, wenn Sie einen Debug-Build ausführen.
  • Release-Zertifikat: Verwenden Sie dieses Zertifikat, wenn Ihre App fertig für die Veröffentlichung im App-Shop ist. Es wird von den Android SDK-Tools generiert, wenn Sie einen Release-Build ausführen.

Weitere Informationen zu digitalen Zertifikaten finden Sie im Leitfaden zum Signieren von Apps (in englischer Sprache).

Weitere Informationen zum Abrufen des Fingerabdrucks des Zertifikats finden Sie unter Client authentifizieren (in englischer Sprache). Wenn Sie stattdessen die Funktion Play App-Signatur verwenden, müssen Sie in der Play Console die Seite für die App-Signatur aufrufen, um den Fingerabdruck Ihres Zertifikats zu erhalten.

So schränken Sie einen API-Schlüssel ein:

Console

  1. Rufen Sie Google Maps Platform > Anmeldedaten auf.

    Zur Seite „Anmeldedaten“

  2. Wählen Sie den API-Schlüssel aus, für den Sie eine Einschränkung festlegen möchten. Die Seite mit den Eigenschaften des API-Schlüssels wird angezeigt.
  3. Nehmen Sie unter Schlüsseleinschränkungen folgende Einstellungen vor:
    • App-Einschränkungen:
      1. Wählen Sie die Option Android-Apps aus.
      2. Klicken Sie auf + Paketname und Fingerabdruck hinzufügen.
      3. Geben Sie den Paketnamen und den Fingerabdruck des SHA-1-Zertifikats ein. Beispiel:
        com.example.android.mapexample
        BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    • API-Einschränkungen:
      1. Klicken Sie auf Schlüssel einschränken.
      2. Wähle im Drop-down-Menü APIs auswählen die Option Places API aus. Wenn die Places API nicht aufgeführt ist, musst du sie aktivieren.
  4. Klicke abschließend auf Speichern.

Cloud SDK

Listen Sie die vorhandenen Schlüssel auf.

gcloud services api-keys list --project="PROJECT"

Löschen Sie die vorhandenen Einschränkungen für einen vorhandenen Schlüssel.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Legen Sie neue Einschränkungen für einen vorhandenen Schlüssel fest.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api_target="places-backend.googleapis.com"
    --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"

Weitere Informationen zum Google Cloud SDK, zur Cloud SDK-Installation und zu den folgenden Befehlen:

Zertifikatsinformationen Ihrer App finden

Der API-Schlüssel basiert auf einer Kurzform des digitalen Zertifikats Ihrer App, auch bekannt als SHA-1-Fingerabdruck. Achte darauf, dass du das richtige Zertifikat verwendest, damit der SHA-1-Fingerabdruck für dein Zertifikat angezeigt werden kann. Möglicherweise haben Sie zwei Zertifikate:

  • Debug-Zertifikat: Die Android SDK-Tools generieren dieses Zertifikat automatisch, wenn du ein Debug-Build ausführst. Verwende dieses Zertifikat nur bei Apps, die du testest. Veröffentliche keine Apps, die mit einem Debugzertifikat signiert sind. Das Debugzertifikat wird im Abschnitt zum Signieren im Debugmodus in der Dokumentation für Android-Entwickler näher beschrieben.
  • Freigabezertifikat: Die Android SDK-Tools generieren dieses Zertifikat automatisch, wenn du ein Releasebuild ausführst. Du kannst dieses Zertifikat auch mithilfe des Programms keytool generieren. Verwende dieses Zertifikat, wenn du deine App veröffentlichst.

Gradle verwenden

Mit Gradle ist es sehr einfach, Informationen für die App-Signatur abzurufen. Führen Sie einfach ./gradlew signingReport aus.

Die Ausgabe sollte in etwa so aussehen:

Task :app:signingReport

Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: 76:4E:BF:C3:59:DA:D3:8F:98:D6:3C:DB:87:A4:5B:E7
SHA1: 99:8E:73:B8:3A:A3:A3:C4:C1:D4:19:08:F6:7E:9E:F6:75:29:4C:B2
SHA-256: 6C:01:12:53:90:94:73:B5:66:D6:07:FF:A5:6F:AB:30:AE:99:20:55:0F:B3:12:22:4C:46:7E:02:3D:7E:6D:1D
Valid until: Friday, June 25, 2049
----------
Variant: release
Config: release
Store: app/keystore.jks
Alias: keystore
MD5: 1E:63:0F:14:67:E0:04:BD:98:4C:EB:2B:09:EF:7E:1E
SHA1: 2C:DF:9F:D1:A3:0D:1E:01:48:34:5D:91:52:0B:D8:8A:5A:07:45:C3
SHA-256: 12:66:CE:4B:90:FD:64:1A:4D:79:9E:78:AD:59:0C:21:D8:53:61:EE:2B:90:E4:67:CE:65:A0:76:04:13:23:89
Valid until: Tuesday, September 29, 2116

Manuell

Befolge die Schritte unten, um den SHA-1-Fingerabdruck eines Zertifikats über das Programm keytool mit dem Parameter -v aufzurufen. Weitere Informationen zu Keytool findest du in der Oracle-Dokumentation.

Debugzertifikat

Fingerabdruck des Debug-Zertifikats aufrufen

  1. Suche nach deiner Debug-Schlüsselspeicherdatei. Der Dateiname ist debug.keystore. Die Datei wurde angelegt, als du dein Projekt zum ersten Mal erstellt hast. Standardmäßig befindet sich die Datei in demselben Verzeichnis wie deine AVD-Dateien (Android Virtual Device):

    • macOS und Linux: ~/.android/
    • Windows Vista und Windows 7: C:\Users\your_user_name\.android\
  2. SHA-1-Fingerabdruck auflisten:

    • Öffne unter Linux oder macOS ein Terminalfenster und gib Folgendes ein:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Führe unter Windows Vista und Windows 7 folgenden Befehl aus:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Die Ausgabe sollte ungefähr so aussehen:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3

Freigabezertifikat

Fingerabdruck des Freigabezertifikats aufrufen

  1. Suche nach der Schlüsselspeicherdatei deines Freigabezertifikats. Es gibt keinen Standardspeicherplatz oder -namen für den Schlüsselspeicher der Freigabe. Falls du beim Erstellen der App keine Version angibst, wird .apk vom Build nicht signiert. Du musst sie dann vor dem Veröffentlichen signieren. Für das Freigabezertifikat benötigst du auch den Zertifikatsalias und die Kennwörter für den Schlüsselspeicher und das Zertifikat. Du kannst die Aliasnamen für alle Schlüssel in einem Schlüsselspeicher auflisten, indem du Folgendes eingibst:

    keytool -list -keystore your_keystore_name

    Ersetze your_keystore_name durch den vollständig qualifizierten Pfad und Namen des Schlüsselspeichers, einschließlich der Erweiterung .keystore. Du wirst aufgefordert, das Passwort des Schlüsselspeichers einzugeben. Mithilfe von keytool werden dann alle Aliasnamen im Schlüsselspeicher angezeigt.

  2. Gib Folgendes in einem Terminal oder bei einer Eingabeaufforderung ein:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    Ersetze your_keystore_name durch den vollständig qualifizierten Pfad und Namen des Schlüsselspeichers, einschließlich der Erweiterung .keystore. Ersetze your_alias_name durch den Alias, den du dem Zertifikat beim Erstellen zugewiesen hast.

Die Ausgabe sollte ungefähr so aussehen:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Die Zeile, die SHA1 beginnt, enthält den SHA-1-Fingerabdruck des Zertifikats. Der Fingerabdruck ist eine Abfolge aus 20 zweistelligen Hexadezimalzahlen, die durch Doppelpunkte getrennt sind.

Weiteres Vorgehen

Da Sie nun einen API-Schlüssel haben, können Sie ein Projekt erstellen und konfigurieren, wie unter Android Studio-Projekt einrichten beschrieben.