Delphi-Google-Cloud-SDK — FCM, Pub/Sub, Calendar & mehr

Ein stimmiger Satz Pascal-Komponenten für die Google-Cloud-Plattform: Mobile-Push-Benachrichtigungen mit Firebase Cloud Messaging HTTP v1, Nachrichten auf Cloud Pub/Sub holen / veröffentlichen, Termine in Google Calendar planen, Service-Account-JWTs für jeden GCP-Dienst signieren und für jede Google-API streng typisierte Clients aus ihrem Discovery-/OpenAPI-Dokument erzeugen — alles aus sgcWebSockets.

Native Komponenten für jede GCP-Oberfläche

Keine Python-google-cloud-Bindings, kein Java-JDK, keine Node.js-Bridge — nur Delphi-Komponenten, die HTTPS, HTTP/2 und OAuth2 direkt mit den Endpunkten von Google sprechen.

Google Cloud Platform stellt Hunderte von REST-APIs bereit — Messaging, Storage, Queueing, Identity, Mapping, Machine Learning, Productivity (Calendar, Drive, Gmail, Docs), Advertising, Analytics, Billing und mehr. Bislang bedeutete der Aufruf aus Delphi: JWT-Signer, OAuth2-Token-Refresher, Multipart-Uploader und SSE-Parser selbst schreiben. sgcWebSockets liefert First-Class-Komponenten für die gängigsten Oberflächen — TsgcHTTP_API_GoogleFCM für Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub für Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar für die Calendar-API v3 — plus wiederverwendbare OAuth2-/Service-Account-JWT-Infrastruktur, die jeden weiteren Google-Endpunkt antreibt, sowie den sgcOpenAPI-Codegenerator für den langen Rest.

Die Authentifizierung ist einheitlich: ein Google-Cloud-Projekt, ein Service-Account-JSON-Key (oder ein OAuth2-Client für Endnutzer-Flows) und die passenden Scopes https://www.googleapis.com/auth/.... Der JWT-Signer der Bibliothek baut die Assertion, fordert ein Access-Token bei oauth2.googleapis.com/token an und cacht / aktualisiert es transparent. Derselbe Code läuft unverändert auf Windows, macOS, Linux, iOS und Android, mit VCL- und FMX-UI-Schichten.

Kernkomponenten

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transport

HTTPS / HTTP/2 mit TLS 1.3, OAuth2 + Service-Account-JWT (RS256), Bearer-Token-Caching.

Plattformen

Windows, macOS, Linux, iOS, Android, .NET.

Code-Generator

sgcOpenAPI verarbeitet jedes Google-Discovery-/OpenAPI-Dokument und erzeugt Pascal-Client-Klassen.

First-Class-Wrapper + generierte SDKs

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — sende Push-Benachrichtigungen an Android-, iOS- und Web-Clients mit der modernen OAuth2-basierten FCM-HTTP-v1-API. Topic-/Token-/Bedingungs-Targeting, Daten-Payloads, Image-/Sound-/Channel-Overrides.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — Nachrichten an Topics veröffentlichen, von Subscriptions ziehen, ack / nack, gebündelter Versand, Push-Style-HTTP-Subscriptions mit Ende-zu-Ende-signierten Envelopes.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — Kalender auflisten, CRUD von Terminen, Teilnehmer verwalten, Wiederholungsregeln, Free/Busy-Abfragen und ACLs — mit OAuth2-Nutzerzustimmung oder Service-Account-Domain-Wide-Delegation.

Google Cloud Storage

Objekte hoch- / herunterladen, Signed URLs, Resumable Uploads und Bucket-Management über HTTPS — arbeitet mit jedem GCS-Bucket und S3-kompatibler Interop.

Google AI & Gemini

Nativer Client für die generativen Gemini-Sprachmodelle, Embeddings und Vertex AI — Streaming über SSE, Function Calling, strukturierte Ausgaben im JSON-Modus.

Google Drive, Gmail, Sheets, Docs

Mit sgcOpenAPI generierte SDKs — OAuth2 + die passenden Workspace-Scopes geben dir Pascal-Klassen für jeden Endpunkt.

Google Maps Platform

Geocoding, Directions, Distance Matrix, Places und Roads — HTTPS + API-Key oder OAuth2.

Generierte Google-Cloud-SDKs

sgcOpenAPI erzeugt Pascal-Client-Klassen für jede Google-REST-API, die ein OpenAPI-Dokument veröffentlicht — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager und Freunde.

OAuth2 + Service-Account-JWT, serverseitig

Die meisten Google-Cloud-APIs akzeptieren zwei Credential-Formen: einen Service-Account-JSON-Key (RS256-signierter JWT, der bei oauth2.googleapis.com/token gegen einen kurzlebigen Bearer-Token getauscht wird, ohne Benutzerinteraktion) und einen OAuth2-Client mit dem üblichen Authorization-Code- oder Device-Code-Flow für Endnutzerdaten (Calendar, Drive, Gmail). sgcWebSockets deckt beides ab: TsgcJWTClient signiert die Assertion, TsgcOAuth2Client treibt den Nutzerflow, und die einzelnen Service-Komponenten verbrauchen das jeweils eingehängte Credential. Tokens werden im Speicher gecacht und vor Ablauf erneuert, sodass dein Anwendungscode nie einen 401 sieht.

Einen FCM-Push aus Delphi senden

Ein 25-Zeilen-Snippet, das sich mit einem Service-Account-JSON-Key authentifiziert und eine Benachrichtigung an ein einzelnes Device-Token sendet.

uses
  sgcHTTP_API_GoogleFCM, sgcHTTP_API_GoogleFCM_Types;

var
  vFCM:     TsgcHTTP_API_GoogleFCM;
  vMessage: TsgcGoogleFCMMessage;
begin
  vFCM := TsgcHTTP_API_GoogleFCM.Create(nil);
  try
    vFCM.ProjectId            := 'my-firebase-project';
    vFCM.ServiceAccountFile   := 'C:\keys\my-project-fcm.json';

    vMessage := TsgcGoogleFCMMessage.Create;
    try
      vMessage.Token             := 'eXampleDeviceTokenFromAndroidOrIOSClient...';
      vMessage.Notification.Title := 'New order';
      vMessage.Notification.Body  := 'Order #1234 has been confirmed.';
      vMessage.Data.AddPair('orderId', '1234');
      vMessage.Android.Priority   := fpHigh;

      vFCM.SendMessage(vMessage);
    finally
      vMessage.Free;
    end;
  finally
    vFCM.Free;
  end;
end;

Nachrichten veröffentlichen und ziehen

Cloud Pub/Sub ist Googles weltweit verteilter At-least-once-Messaging-Layer — das Rückgrat zahlloser event-getriebener Architekturen. Dasselbe Service-Account-Credential treibt beide Enden; Publisher senden POSTs an ein Topic, Subscriber holen entweder geplant per Pull ab oder akzeptieren Push-Zustellungen an einem HTTPS-Endpunkt.

uses
  sgcHTTP_API_GoogleCloudPubSub;

var
  vPubSub: TsgcHTTP_API_GoogleCloudPubSub;
begin
  vPubSub := TsgcHTTP_API_GoogleCloudPubSub.Create(nil);
  try
    vPubSub.ProjectId          := 'my-project';
    vPubSub.ServiceAccountFile := 'C:\keys\my-project-pubsub.json';

    // Publish
    vPubSub.Publish('orders', '{"orderId":1234,"total":42.50}');

    // Pull
    vPubSub.OnMessageReceived := DoMessageReceived;
    vPubSub.Subscribe('orders-worker');  // long-running pull loop
  finally
    vPubSub.Free;
  end;
end;

Drei Schritte zu deinem ersten GCP-Call

1. Installieren

Zieh sgcWebSockets in deine Delphi- oder C++Builder-IDE — ein Package pro Delphi-Version 7 bis 13. Testversion herunterladen.

2. Service-Account anlegen

Lege in der Google-Cloud-Konsole einen Service-Account an, weise ihm die passenden Rollen zu (z. B. Pub/Sub Publisher, Firebase Messaging Admin) und lade den JSON-Key herunter.

3. Komponente platzieren

Für FCM TsgcHTTP_API_GoogleFCM, für Pub/Sub TsgcHTTP_API_GoogleCloudPubSub, für Calendar TsgcHTTP_API_GoogleCalendar — oder generiere ein eigenes SDK mit sgcOpenAPI.

Verwandte Blog-Beiträge

Delphi-Google-Cloud-SDK

Überblick darüber, wie sgcWebSockets die Google-Cloud-Oberfläche für Pascal-Entwickler verfügbar macht.

Firebase Cloud Messaging HTTP v1 in Delphi

Schrittweiser Durchlauf der modernen FCM-API und wie sie den alten Server-Key ablöst.

Google-Cloud-Pub/Sub-Delphi-Komponente

Nachrichten mit der Pub/Sub-Komponente veröffentlichen, ziehen und bestätigen.

Google Calendar API v3

Termine aus einer VCL- oder FMX-Anwendung anlegen und aktualisieren.

Google API-Key + OAuth2

Wann API-Key vs. OAuth2 vs. Service-Account-Credentials verwendet werden.

Google-Cloud-Integrationen heute in deine Delphi-App bringen

Lade die Testversion herunter — FCM-, Pub/Sub- und Calendar-Demos werden fertig zum Kompilieren ausgeliefert.