SDK Google Cloud para Delphi — FCM, Pub/Sub, Calendar y más

Un conjunto coherente de componentes Pascal para la plataforma Google Cloud: envía notificaciones push móviles con Firebase Cloud Messaging HTTP v1, recibe / publica mensajes en Cloud Pub/Sub, programa eventos en Google Calendar, firma JWTs de service account para cualquier servicio GCP, y genera clientes fuertemente tipados para cualquier API de Google desde su documento de discovery / OpenAPI — todo desde sgcWebSockets.

Componentes nativos para cada superficie de GCP

Sin bindings google-cloud de Python, sin JDK de Java, sin puente Node.js — sólo componentes Delphi que hablan HTTPS, HTTP/2 y OAuth2 directamente con los endpoints de Google.

Google Cloud Platform expone cientos de APIs REST — mensajería, almacenamiento, colas, identidad, mapas, machine learning, productividad (Calendar, Drive, Gmail, Docs), publicidad, analítica, facturación y más. Hasta ahora, llamarlas desde Delphi suponía escribir a mano firmadores JWT, refrescadores de token OAuth2, uploaders multipart y parsers SSE. sgcWebSockets incluye componentes de primera para las superficies más comunes — TsgcHTTP_API_GoogleFCM para Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub para Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar para Calendar API v3 — además de infraestructura reutilizable de OAuth2 + JWT de service account que controla cualquier otro endpoint de Google y el generador de código sgcOpenAPI para la larga cola.

La autenticación es uniforme: un proyecto de Google Cloud, una clave JSON de service account (o un cliente OAuth2 para flujos de usuario final), y los scopes https://www.googleapis.com/auth/... apropiados. El firmador JWT de la librería construye la aserción, solicita un access token a oauth2.googleapis.com/token y lo cachea / refresca de forma transparente. El mismo código corre sin modificaciones en Windows, macOS, Linux, iOS y Android, con interfaces VCL y FMX.

Componentes principales

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transporte

HTTPS / HTTP/2 con TLS 1.3, OAuth2 + JWT de service account (RS256), caché de Bearer-token.

Plataformas

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

Generador de código

sgcOpenAPI consume cualquier documento discovery / OpenAPI de Google y emite clases cliente Pascal.

Wrappers de primera + SDKs generados

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — envía notificaciones push a clientes Android, iOS y web con la moderna API FCM HTTP v1 basada en OAuth2. Targeting por topic / token / condición, payloads de datos, overrides de imagen / sonido / canal.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — publica mensajes en topics, hace pull desde suscripciones, ack / nack, envío por lotes, suscripciones HTTP estilo push con envoltorios firmados de extremo a extremo.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — lista calendarios, CRUD de eventos, gestiona asistentes, reglas de recurrencia, consultas free/busy y ACLs — con consentimiento OAuth2 del usuario o delegación domain-wide de service account.

Google Cloud Storage

Subida / descarga de objetos, URLs firmadas, subidas reanudables y gestión de buckets vía HTTPS — funciona con cualquier bucket GCS y con interop S3-compatible.

Google AI y Gemini

Cliente nativo para los modelos generativos Gemini, embeddings y Vertex AI — streaming sobre SSE, function calling, salidas estructuradas en modo JSON.

Google Drive, Gmail, Sheets, Docs

SDKs generados con sgcOpenAPI — OAuth2 + los scopes de Workspace apropiados te dan clases Pascal para cada endpoint.

Google Maps Platform

Geocoding, directions, distance matrix, places y roads — HTTPS + API key u OAuth2.

SDKs Google Cloud generados

sgcOpenAPI emite clases cliente Pascal para cualquier API REST de Google que publique un documento OpenAPI — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager y compañía.

OAuth2 + JWT de service account, en el servidor

La mayoría de las APIs de Google Cloud aceptan dos formas de credencial: una clave JSON de service account (JWT firmado RS256 intercambiado en oauth2.googleapis.com/token por un bearer token de corta vida, sin interacción del usuario) y un cliente OAuth2 con el flujo estándar de authorization-code o device-code para datos de usuario final (Calendar, Drive, Gmail). sgcWebSockets cubre ambos: TsgcJWTClient firma la aserción, TsgcOAuth2Client controla el flujo de usuario, y los componentes por servicio consumen la credencial que conectes. Los tokens se cachean en memoria y se refrescan antes de expirar, de modo que tu código de aplicación nunca toca un 401.

Envía un push FCM desde Delphi

Un fragmento de 25 líneas que se autentica con una clave JSON de service account y envía una notificación a un único token de 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;

Publica y haz pull de mensajes

Cloud Pub/Sub es la fábrica de mensajería at-least-once globalmente distribuida de Google — la espina dorsal de innumerables arquitecturas event-driven. La misma credencial de service account controla ambos extremos; los publicadores hacen POST de mensajes a un topic, los suscriptores o bien hacen pull en un horario o bien aceptan entregas push en 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;

Tres pasos hasta tu primera llamada GCP

1. Instalar

Suelta sgcWebSockets en tu IDE de Delphi o C++Builder — un paquete por versión de Delphi 7 hasta 13. Descarga la prueba.

2. Crear una service account

En la consola de Google Cloud, crea una service account, asígnale los roles adecuados (p. ej. Pub/Sub Publisher, Firebase Messaging Admin) y descarga la clave JSON.

3. Arrastra un componente

Para FCM usa TsgcHTTP_API_GoogleFCM, para Pub/Sub usa TsgcHTTP_API_GoogleCloudPubSub, para Calendar usa TsgcHTTP_API_GoogleCalendar — o genera un SDK personalizado con sgcOpenAPI.

Entradas de blog relacionadas

SDK Google Cloud para Delphi

Visión general de cómo sgcWebSockets expone la superficie Google Cloud a los desarrolladores Pascal.

Firebase Cloud Messaging HTTP v1 en Delphi

Recorrido paso a paso de la API moderna de FCM y cómo reemplaza la antigua server key.

Componente Delphi para Google Cloud Pub/Sub

Publica, haz pull y acknowledge de mensajes con el componente Pub/Sub.

Google Calendar API v3

Crea y actualiza eventos desde una aplicación VCL o FMX.

Google API key + OAuth2

Cuándo usar una API key vs OAuth2 vs credenciales de service account.

Lanza integraciones Google Cloud en tu app Delphi hoy

Descarga la prueba — las demos de FCM, Pub/Sub y Calendar se entregan listas para compilar.