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.
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.
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.
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.
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.
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.
Autenticazione
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.
Guida Rapida
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.
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.
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.