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

Een samenhangende set Pascal-componenten voor het Google Cloud-platform: stuur mobiele push-meldingen met Firebase Cloud Messaging HTTP v1, pull / publish berichten op Cloud Pub/Sub, plan events in Google Calendar, onderteken service-account JWT’s voor elke GCP-service en genereer sterk getypeerde clients voor elke Google-API uit het discovery-/OpenAPI-document — allemaal vanuit sgcWebSockets.

Native componenten voor elk GCP-oppervlak

Geen Python google-cloud bindings, geen Java JDK, geen Node.js-bridge — alleen Delphi-componenten die rechtstreeks HTTPS, HTTP/2 en OAuth2 spreken met de endpoints van Google.

Google Cloud Platform biedt honderden REST-API’s — messaging, storage, queueing, identity, mapping, machine learning, productiviteit (Calendar, Drive, Gmail, Docs), advertising, analytics, billing en meer. Tot nu toe betekende ze aanroepen vanuit Delphi handmatig JWT-signers, OAuth2 token-refreshers, multipart-uploaders en SSE-parsers schrijven. sgcWebSockets levert first-class componenten voor de meest voorkomende oppervlakken — TsgcHTTP_API_GoogleFCM voor Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub voor Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar voor de Calendar API v3 — plus herbruikbare OAuth2- + service-account-JWT-infrastructuur die elke andere Google-endpoint aanstuurt, en de sgcOpenAPI-codegenerator voor de long tail.

Authenticatie is uniform: een Google Cloud-project, een service-account JSON-key (of een OAuth2-client voor eindgebruikersflows) en de juiste https://www.googleapis.com/auth/...-scopes. De JWT-signer van de library bouwt de assertion, vraagt een access token op bij oauth2.googleapis.com/token en cached / refresht het transparant. Dezelfde code draait ongewijzigd op Windows, macOS, Linux, iOS en Android, met zowel VCL- als FMX-UI-lagen.

Kerncomponenten

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transport

HTTPS / HTTP/2 met TLS 1.3, OAuth2 + service-account JWT (RS256), Bearer-token caching.

Platforms

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

Codegenerator

sgcOpenAPI verwerkt elk Google discovery-/OpenAPI-document en levert Pascal-clientklassen.

First-class wrappers + gegenereerde SDK’s

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — stuur push-meldingen naar Android-, iOS- en webclients met de moderne OAuth2-gebaseerde FCM HTTP v1-API. Targeting per topic / token / condition, data-payloads, image- / sound- / channel-overrides.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — publiceer berichten op topics, pull vanuit subscriptions, ack / nack, batched send, push-style HTTP-subscriptions met end-to-end ondertekende envelopes.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — agenda’s opvragen, CRUD op events, beheer van deelnemers, recurrence rules, free/busy-queries en ACL’s — met OAuth2-gebruikerstoestemming of service-account domain-wide delegation.

Google Cloud Storage

Upload / download van objecten, signed URLs, resumable uploads en bucketbeheer via HTTPS — werkt met elke GCS-bucket en met S3-compatibele interop.

Google AI & Gemini

Native client voor de generatieve Gemini-modellen, embeddings en Vertex AI — streaming over SSE, function calling, gestructureerde JSON-mode-output.

Google Drive, Gmail, Sheets, Docs

SDK’s gegenereerd via sgcOpenAPI — OAuth2 + de juiste Workspace-scopes geven je Pascal-klassen voor elke endpoint.

Google Maps Platform

Geocoding, directions, distance matrix, places en roads — HTTPS + API key of OAuth2.

Gegenereerde Google Cloud SDK’s

sgcOpenAPI levert Pascal-clientklassen voor elke Google REST-API die een OpenAPI-document publiceert — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager en vrienden.

OAuth2 + service-account JWT, server-side

De meeste Google Cloud-API’s accepteren twee vormen van credential: een service-account JSON-key (RS256-ondertekende JWT die op oauth2.googleapis.com/token wordt geruild voor een kortlevende bearer-token, zonder gebruikersinteractie) en een OAuth2-client met de standaard authorisation-code- of device-code-flow voor eindgebruikersdata (Calendar, Drive, Gmail). sgcWebSockets dekt beide: TsgcJWTClient ondertekent de assertion, TsgcOAuth2Client stuurt de gebruikersflow, en de per-service-componenten gebruiken het credential dat je inhangt. Tokens worden in-memory gecached en vóór het verlopen ververst, zodat je applicatiecode nooit een 401 raakt.

Verstuur een FCM-push vanuit Delphi

Een snippet van 25 regels dat zich authenticeert met een service-account JSON-key en een melding pusht naar één device-token.

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;

Berichten publiceren en pullen

Cloud Pub/Sub is Google’s wereldwijd gedistribueerde, at-least-once messaging-laag — de ruggengraat van talloze event-driven architecturen. Hetzelfde service-account credential stuurt beide kanten aan; publishers POSTen berichten naar een topic, subscribers pullen op een planning of accepteren push-deliveries op een HTTPS-endpoint.

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;

Drie stappen naar je eerste GCP-call

1. Installeren

Plaats sgcWebSockets in je Delphi- of C++Builder-IDE — één package per Delphi-versie 7 tot en met 13. Download de proefversie.

2. Maak een service account

Maak in de Google Cloud-console een service account, geef het de juiste rollen (bv. Pub/Sub Publisher, Firebase Messaging Admin) en download de JSON-key.

3. Plaats een component

Voor FCM gebruik je TsgcHTTP_API_GoogleFCM, voor Pub/Sub TsgcHTTP_API_GoogleCloudPubSub, voor Calendar TsgcHTTP_API_GoogleCalendar — of genereer een eigen SDK met sgcOpenAPI.

Gerelateerde blogposts

Delphi Google Cloud SDK

Overzicht hoe sgcWebSockets het Google Cloud-oppervlak ontsluit voor Pascal-developers.

Firebase Cloud Messaging HTTP v1 in Delphi

Stapsgewijze walkthrough van de moderne FCM-API en hoe die de legacy server key vervangt.

Google Cloud Pub/Sub Delphi-component

Publish, pull en acknowledge van berichten met het Pub/Sub-component.

Google Calendar API v3

Events aanmaken en updaten vanuit een VCL- of FMX-applicatie.

Google API key + OAuth2

Wanneer een API key gebruiken vs OAuth2 vs service-account credentials.

Lever vandaag Google Cloud-integraties in je Delphi-app

Download de proefversie — FCM-, Pub/Sub- en Calendar-demo’s worden kant-en-klaar geleverd om te compileren.