SDK Google Cloud Delphi — FCM, Pub/Sub, Calendar e altro

Un set coerente di componenti Pascal per la piattaforma Google Cloud: invia notifiche push mobile con Firebase Cloud Messaging HTTP v1, recupera / pubblica messaggi su Cloud Pub/Sub, pianifica eventi su Google Calendar, firma JWT di service account per qualsiasi servizio GCP, e genera client fortemente tipizzati per qualsiasi API Google dal suo documento discovery / OpenAPI — tutto da sgcWebSockets.

Componenti nativi per ogni superficie GCP

Niente binding google-cloud di Python, niente JDK Java, niente bridge Node.js — solo componenti Delphi che parlano HTTPS, HTTP/2 e OAuth2 direttamente con gli endpoint di Google.

Google Cloud Platform espone centinaia di API REST — messaging, storage, code, identity, mapping, machine learning, produttività (Calendar, Drive, Gmail, Docs), advertising, analytics, billing e altro. Finora, chiamarle da Delphi voleva dire scrivere a mano signer JWT, refresher di token OAuth2, uploader multipart e parser SSE. sgcWebSockets distribuisce componenti di prima classe per le superfici più comuni — TsgcHTTP_API_GoogleFCM per Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub per Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar per la Calendar API v3 — più infrastruttura riutilizzabile OAuth2 + JWT di service account che pilota ogni altro endpoint Google, e il generatore di codice sgcOpenAPI per la lunga coda.

L'autenticazione è uniforme: un progetto Google Cloud, una chiave JSON di service account (o un client OAuth2 per i flussi end-user), e gli scope https://www.googleapis.com/auth/... appropriati. Il signer JWT della libreria costruisce l'assertion, richiede un access token a oauth2.googleapis.com/token e lo memorizza / rinfresca in modo trasparente. Lo stesso codice gira senza modifiche su Windows, macOS, Linux, iOS e Android, con layer UI VCL e FMX.

Componenti principali

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Trasporto

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

Piattaforme

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

Generatore di codice

sgcOpenAPI consuma qualsiasi documento discovery / OpenAPI di Google ed emette classi client Pascal.

Wrapper di prima classe + SDK generati

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — invia notifiche push a client Android, iOS e web con la moderna API FCM HTTP v1 basata su OAuth2. Targeting per topic / token / condition, payload dati, override di image / sound / channel.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — pubblica messaggi sui topic, fai pull dalle subscription, ack / nack, invio in batch, subscription HTTP push-style con buste firmate end-to-end.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — elenca i calendari, CRUD degli eventi, gestione di partecipanti, regole di ricorrenza, query free/busy e ACL — con consenso OAuth2 dell'utente o delega domain-wide del service account.

Google Cloud Storage

Upload / download di oggetti, URL firmate, upload resumable e gestione dei bucket via HTTPS — funziona con qualsiasi bucket GCS e con interop S3-compatibile.

Google AI e Gemini

Client nativo per i modelli generativi Gemini, embeddings e Vertex AI — streaming su SSE, function calling, output strutturati in JSON-mode.

Google Drive, Gmail, Sheets, Docs

SDK generati con sgcOpenAPI — OAuth2 + gli scope Workspace appropriati ti danno classi Pascal per ogni endpoint.

Google Maps Platform

Geocoding, directions, distance matrix, places e roads — HTTPS + API key o OAuth2.

SDK Google Cloud generati

sgcOpenAPI emette classi client Pascal per qualsiasi API REST di Google che pubblichi un documento OpenAPI — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager e compagnia.

OAuth2 + JWT di service account, lato server

La maggior parte delle API Google Cloud accetta due forme di credenziale: una chiave JSON di service account (JWT firmato RS256 scambiato su oauth2.googleapis.com/token con un bearer token a breve scadenza, senza interazione utente) e un client OAuth2 con il classico flusso authorization-code o device-code per dati end-user (Calendar, Drive, Gmail). sgcWebSockets copre entrambi: TsgcJWTClient firma l'assertion, TsgcOAuth2Client pilota il flusso utente, e i componenti per servizio consumano qualunque credenziale colleghi. I token vengono memorizzati in memoria e rinfrescati prima della scadenza, così il codice della tua applicazione non incontra mai un 401.

Invia un push FCM da Delphi

Uno snippet di 25 righe che si autentica con una chiave JSON di service account e invia una notifica a un singolo token di dispositivo.

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;

Pubblica e fai pull dei messaggi

Cloud Pub/Sub è il tessuto di messaging at-least-once distribuito globalmente di Google — la spina dorsale di innumerevoli architetture event-driven. La stessa credenziale di service account pilota entrambi i lati; i publisher fanno POST di messaggi a un topic, i subscriber o fanno pull a intervalli o accettano consegne push su 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;

Tre passi alla tua prima chiamata GCP

1. Installa

Inserisci sgcWebSockets nella tua IDE Delphi o C++Builder — un package per ogni versione di Delphi dalla 7 alla 13. Scarica la trial.

2. Crea un service account

Nella console Google Cloud, crea un service account, assegnagli i ruoli giusti (es. Pub/Sub Publisher, Firebase Messaging Admin) e scarica la chiave JSON.

3. Trascina un componente

Per FCM usa TsgcHTTP_API_GoogleFCM, per Pub/Sub usa TsgcHTTP_API_GoogleCloudPubSub, per Calendar usa TsgcHTTP_API_GoogleCalendar — oppure genera un SDK personalizzato con sgcOpenAPI.

Post del blog correlati

SDK Google Cloud Delphi

Panoramica su come sgcWebSockets espone la superficie Google Cloud agli sviluppatori Pascal.

Firebase Cloud Messaging HTTP v1 in Delphi

Walk-through passo passo della moderna API FCM e di come rimpiazza la vecchia server key.

Componente Delphi per Google Cloud Pub/Sub

Pubblica, fai pull e conferma messaggi con il componente Pub/Sub.

Google Calendar API v3

Crea e aggiorna eventi da un'applicazione VCL o FMX.

API key di Google + OAuth2

Quando usare un'API key vs OAuth2 vs credenziali di service account.

Spedisci integrazioni Google Cloud nella tua app Delphi oggi

Scarica la trial — le demo FCM, Pub/Sub e Calendar vengono distribuite pronte da compilare.