OAuth 2.0-Client-ID abrufen

Übersicht

Wenn du Google Fit für Android verwenden möchtest, benötigst du eine OAuth 2.0-Client-ID für Android-Anwendungen.

Alle Android-Apps sind mit einem digitalen Zertifikat signiert, für das du den privaten Schlüssel besitzt. Weitere Informationen zu digitalen Zertifikaten findest du in der Android-Anleitung zum Signieren von Anwendungen.

Android-OAuth-Client-IDs sind mit bestimmten Zertifikat-/Paket-Paaren verknüpft. Du benötigst nur eine ID pro Zertifikat, unabhängig davon, wie viele Nutzer die App hat.

Das Abrufen einer ID für deine App erfordert mehrere Schritte. Diese Schritte werden unten beschrieben.

  1. Zertifikatsinformationen deiner App suchen
  2. Projekt in der Google API Console erstellen oder ändern
  3. OAuth 2.0-Client-ID anfordern

Zertifikatsinformationen deiner App suchen

Der API-Schlüssel basiert auf einer Kurzform des digitalen Zertifikats deiner App, auch bekannt als SHA-1-Fingerabdruck. Wenn du den SHA-1 Fingerabdruck für dein Zertifikat aufrufen möchtest, musst du zuerst sicherstellen, dass du das richtige Zertifikat verwendest. Möglicherweise hast du zwei Zertifikate:

  • Debugzertifikat: 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.

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 mit SHA1 beginnt, enthält den SHA-1-Fingerabdruck des Zertifikats. Der Fingerabdruck ist eine Abfolge aus 20 zweistelligen Hexadezimalzahlen, die durch Doppelpunkte getrennt sind.

OAuth 2.0-Client-ID in der Google API Console anfordern

Folge dieser Anleitung, um ein Projekt für deine App in der Google API Console zu erstellen oder zu ändern, die Fitness API zu aktivieren und eine OAuth 2.0-Client-ID anzufordern.

Wenn du durch den Prozess geführt werden und die Fitness API automatisch aktivieren möchtest, klicke auf

Client-ID abrufen

Alternativ kannst du die Fitness API in der Google API Console aktivieren und eine OAuth 2.0-Client-ID abrufen.

  1. Rufe die Google API Console auf.
  2. Wähle ein Projekt aus oder erstelle ein neues. Verwende dasselbe Projekt für die Android und REST-Versionen deiner App.
  3. Klicke auf Weiter , um die Fitness API zu aktivieren.
  4. Klicke auf Zu den Anmeldedaten.
  5. Klicke auf Neue Anmeldedaten und wähle dann OAuth-Client-ID aus.
  6. Wähle unter Anwendungstyp die Option Android aus.
  7. Gib im angezeigten Dialogfeld den SHA-1-Fingerabdruck und den Paket namen deiner App ein. Beispiel:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

    com.example.android.fit-example

  8. Klicke auf Erstellen. Die neue Android-OAuth 2.0-Client-ID und der neue Clientschlüssel werden in der Liste der IDs für dein Projekt angezeigt. Eine OAuth 2.0-Client-ID ist eine Zeichenfolge aus Zeichen, etwa so:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com