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

Un ensemble cohérent de composants Pascal pour la plateforme Google Cloud : envoyez des notifications push mobiles avec Firebase Cloud Messaging HTTP v1, tirez / publiez des messages sur Cloud Pub/Sub, planifiez des événements sur Google Calendar, signez des JWT de compte de service pour n'importe quel service GCP, et générez des clients fortement typés pour toute API Google à partir de son document discovery / OpenAPI — le tout depuis sgcWebSockets.

Composants natifs pour chaque surface GCP

Pas de bindings google-cloud Python, pas de JDK Java, pas de pont Node.js — juste des composants Delphi qui parlent HTTPS, HTTP/2 et OAuth2 directement aux endpoints de Google.

Google Cloud Platform expose des centaines d'API REST — messaging, stockage, queueing, identité, mapping, machine learning, productivité (Calendar, Drive, Gmail, Docs), publicité, analytics, facturation et bien plus. Jusqu'ici, les appeler depuis Delphi signifiait écrire à la main des signers JWT, des refreshers de token OAuth2, des uploaders multipart et des parseurs SSE. sgcWebSockets livre des composants de première classe pour les surfaces les plus courantes — TsgcHTTP_API_GoogleFCM pour Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub pour Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar pour la Calendar API v3 — plus une infrastructure réutilisable OAuth2 + JWT de compte de service qui pilote tous les autres endpoints Google, et le générateur de code sgcOpenAPI pour la longue traîne.

L'authentification est uniforme : un projet Google Cloud, une clé JSON de compte de service (ou un client OAuth2 pour les flux end-user) et les scopes https://www.googleapis.com/auth/... appropriés. Le signer JWT de la bibliothèque construit l'assertion, demande un access token à oauth2.googleapis.com/token et le met en cache / le rafraîchit de manière transparente. Le même code tourne sans modification sur Windows, macOS, Linux, iOS et Android, avec des couches UI VCL et FMX.

Composants principaux

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transport

HTTPS / HTTP/2 avec TLS 1.3, OAuth2 + JWT de compte de service (RS256), mise en cache de Bearer-token.

Plateformes

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

Générateur de code

sgcOpenAPI consomme tout document discovery / OpenAPI Google et émet des classes client Pascal.

Wrappers de première classe + SDK générés

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — envoyez des notifications push à des clients Android, iOS et web avec l'API moderne FCM HTTP v1 basée sur OAuth2. Ciblage par topic / token / condition, payloads de données, overrides d'image / sound / channel.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — publiez des messages sur des topics, tirez depuis des subscriptions, ack / nack, envoi en batch, subscriptions HTTP de type push avec enveloppes signées bout-en-bout.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — listez les calendriers, CRUD des événements, gestion des participants, règles de récurrence, requêtes free/busy et ACL — avec consentement OAuth2 utilisateur ou délégation domain-wide de compte de service.

Google Cloud Storage

Upload / download d'objets, URL signées, uploads reprenables et gestion de buckets via HTTPS — fonctionne avec n'importe quel bucket GCS et l'interop S3-compatible.

Google AI et Gemini

Client natif pour les modèles génératifs Gemini, embeddings et Vertex AI — streaming sur SSE, function calling, sorties structurées en mode JSON.

Google Drive, Gmail, Sheets, Docs

SDK générés via sgcOpenAPI — OAuth2 + les scopes Workspace appropriés vous donnent des classes Pascal pour chaque endpoint.

Google Maps Platform

Geocoding, directions, distance matrix, places et roads — HTTPS + API key ou OAuth2.

SDK Google Cloud générés

sgcOpenAPI émet des classes client Pascal pour toute API REST Google qui publie un document OpenAPI — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager et compagnie.

OAuth2 + JWT de compte de service, côté serveur

La plupart des API Google Cloud acceptent deux formes de credential : une clé JSON de compte de service (JWT signé RS256 échangé sur oauth2.googleapis.com/token contre un bearer token éphémère, sans interaction utilisateur) et un client OAuth2 avec le flux standard authorization-code ou device-code pour les données end-user (Calendar, Drive, Gmail). sgcWebSockets couvre les deux : TsgcJWTClient signe l'assertion, TsgcOAuth2Client pilote le flux utilisateur, et les composants par service consomment le credential que vous branchez. Les tokens sont mis en cache en mémoire et rafraîchis avant expiration, de sorte que votre code applicatif ne rencontre jamais un 401.

Envoyer un push FCM depuis Delphi

Un snippet de 25 lignes qui s'authentifie avec une clé JSON de compte de service et pousse une notification vers un seul token d'appareil.

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;

Publier et tirer des messages

Cloud Pub/Sub est le tissu de messaging au moins une fois mondialement distribué de Google — la colonne vertébrale d'innombrables architectures event-driven. Le même credential de compte de service pilote les deux extrémités ; les publishers POSTent des messages vers un topic, les subscribers tirent sur un planning ou acceptent des livraisons push sur un endpoint HTTPS.

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;

Trois étapes vers votre premier appel GCP

1. Installer

Déposez sgcWebSockets dans votre IDE Delphi ou C++Builder — un package par version de Delphi de 7 à 13. Téléchargez l'essai.

2. Créer un compte de service

Dans la console Google Cloud, créez un compte de service, accordez-lui les bons rôles (p. ex. Pub/Sub Publisher, Firebase Messaging Admin) et téléchargez la clé JSON.

3. Déposez un composant

Pour FCM utilisez TsgcHTTP_API_GoogleFCM, pour Pub/Sub utilisez TsgcHTTP_API_GoogleCloudPubSub, pour Calendar utilisez TsgcHTTP_API_GoogleCalendar — ou générez un SDK personnalisé avec sgcOpenAPI.

Articles de blog connexes

SDK Google Cloud Delphi

Aperçu de la façon dont sgcWebSockets expose la surface Google Cloud aux développeurs Pascal.

Firebase Cloud Messaging HTTP v1 en Delphi

Pas-à-pas de l'API FCM moderne et de la façon dont elle remplace l'ancienne server key.

Composant Delphi Google Cloud Pub/Sub

Publiez, tirez et acquittez des messages avec le composant Pub/Sub.

Google Calendar API v3

Créez et mettez à jour des événements depuis une application VCL ou FMX.

API key Google + OAuth2

Quand utiliser une API key vs OAuth2 vs credentials de compte de service.

Livrez des intégrations Google Cloud dans votre app Delphi dès aujourd'hui

Téléchargez l'essai — les démos FCM, Pub/Sub et Calendar sont livrées prêtes à compiler.