Google API Key OAuth2

· Funktionen

Ab sgcWebSockets 4.3.4 wird OAuth2 unterstützt. Google bietet Zugriff auf diese APIs mittels OAuth2-Authentifizierung an, daher musst du zuerst die OAuth2-Client ID und das Client Secret erhalten, bevor du eine Verbindung zu Google-Diensten herstellen kannst.

sgcWebSockets nutzt den Standard-Webbrowser, um einen neuen Authorization Code anzufordern. Wird ein Refresh Token bereitgestellt, aktualisiert es das Access Token automatisch.


OAuth2-Anmeldedaten beziehen

So erhältst du die OAuth2 Client Id und das Client Secret:

  1. Gehe zu https://console.cloud.google.com/apis/dashboard
  2. Wähle ein vorhandenes Projekt aus oder erstelle ein neues.
  3. Wähle nach der Erstellung APIs und Dienste / Anmeldedaten aus.
  4. Klicke auf der Seite Anmeldedaten auf Anmeldedaten erstellen / OAuth Client-ID.
  5. Sobald die OAuth2-Anmeldedaten erstellt sind, wird ein Dialog mit Client Id und Client Secret angezeigt. Diese Werte werden von der Komponente TsgcHTTP_OAuth2 benötigt.

Im OAuth Consent screen-Menü kannst du konfigurieren, wie das OAuth-Protokoll arbeitet. Zu Testzwecken musst du die Standardkonfiguration nicht ändern; beachte nur, dass du eine Warnung von Google erhältst, die darauf hinweist, dass deine Anwendung nicht verifiziert wurde. 

Konfigurationsbeispiel

Wenn du mit unserer Komponente TsgcHTTP_OAuth2 auf GMail zugreifen willst, sieh dir das OAuth2-Beispielprogramm im Ordner Demo/OAuth2 an.

Du musst lediglich eine neue API erstellen und die von Google zurückgegebene Client Id sowie das Client Secret verwenden, um ein Access Token zu erhalten, das später für die Verbindung mit der GMail-API genutzt werden kann

Sobald der Google API-Schlüssel ausgegeben wurde, kopiere Client Id und Client Secret und füge sie in die Felder ClientId und Secret des Demo-Beispielprogramms ein. Drücke anschließend auf New Access Token, woraufhin eine neue Webbrowser-Seite angezeigt wird, die den Benutzer auffordert, den GMail-Zugriff zu genehmigen. Bei Erfolg wird ein neues Access Token zurückgegeben, wie im nächsten Screenshot gezeigt.