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

Um conjunto coerente de componentes Pascal para a plataforma Google Cloud: empurre notificações push para mobile com Firebase Cloud Messaging HTTP v1, faça pull / publish de mensagens no Cloud Pub/Sub, agende eventos no Google Calendar, assine JWTs de service account para qualquer serviço GCP e gere clientes fortemente tipados para qualquer API do Google a partir de seu documento discovery / OpenAPI — tudo a partir do sgcWebSockets.

Componentes nativos para cada superfície GCP

Sem bindings google-cloud Python, sem JDK Java, sem bridge Node.js — só componentes Delphi que falam HTTPS, HTTP/2 e OAuth2 direto com os endpoints do Google.

A Google Cloud Platform expõe centenas de APIs REST — messaging, storage, filas, identidade, mapeamento, machine learning, produtividade (Calendar, Drive, Gmail, Docs), publicidade, analytics, billing e mais. Até agora, chamá-las a partir do Delphi significava escrever à mão signers JWT, refresh de tokens OAuth2, uploaders multipart e parsers SSE. O sgcWebSockets entrega componentes de primeira classe para as superfícies mais comuns — TsgcHTTP_API_GoogleFCM para Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub para Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar para a Calendar API v3 — mais infraestrutura reutilizável de OAuth2 + JWT de service account que dirige todo outro endpoint Google, e o gerador de código sgcOpenAPI para a cauda longa.

A autenticação é uniforme: um projeto Google Cloud, uma chave JSON de service account (ou um cliente OAuth2 para fluxos de usuário final) e os escopos https://www.googleapis.com/auth/... apropriados. O signer JWT da biblioteca monta a assertion, pede um access token em oauth2.googleapis.com/token e faz cache / refresh transparentemente. O mesmo código roda inalterado em Windows, macOS, Linux, iOS e Android, em camadas de UI VCL e FMX.

Componentes principais

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transporte

HTTPS / HTTP/2 com TLS 1.3, OAuth2 + JWT de service account (RS256), cache de Bearer token.

Plataformas

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

Gerador de código

O sgcOpenAPI consome qualquer documento discovery / OpenAPI do Google e emite classes de cliente Pascal.

Wrappers de primeira classe + SDKs gerados

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — envie notificações push para clientes Android, iOS e web com a moderna FCM HTTP v1 baseada em OAuth2. Direcionamento por topic / token / condition, payloads de dados, overrides de image / sound / channel.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — publique mensagens em tópicos, faça pull de subscriptions, ack / nack, send em batch, subscriptions HTTP push com envelopes assinados de ponta a ponta.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — liste calendários, CRUD de eventos, gerencie attendees, regras recorrentes, consultas free/busy e ACLs — com consentimento do usuário via OAuth2 ou delegação domain-wide de service account.

Google Cloud Storage

Upload / download de objetos, URLs assinadas, uploads resumíveis e gerenciamento de bucket via HTTPS — funciona com qualquer bucket GCS e interop S3-compatível.

Google AI & Gemini

Cliente nativo para modelos generativos Gemini, embeddings e Vertex AI — streaming via SSE, function calling, outputs estruturados em JSON-mode.

Google Drive, Gmail, Sheets, Docs

SDKs gerados via sgcOpenAPI — OAuth2 + os escopos Workspace apropriados dão classes Pascal para cada endpoint.

Google Maps Platform

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

SDKs Google Cloud gerados

O sgcOpenAPI emite classes de cliente Pascal para qualquer REST API do Google que publique um documento OpenAPI — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager e companhia.

OAuth2 + JWT de service account, do lado servidor

A maioria das APIs do Google Cloud aceita duas formas de credencial: uma chave JSON de service account (JWT assinado em RS256 trocado em oauth2.googleapis.com/token por um bearer token de curta duração, sem interação do usuário) e um cliente OAuth2 com o fluxo padrão authorization-code ou device-code para dados do usuário final (Calendar, Drive, Gmail). O sgcWebSockets cobre ambos: TsgcJWTClient assina a assertion, TsgcOAuth2Client dirige o fluxo do usuário, e os componentes por serviço consomem a credencial que você conectar. Tokens são cacheados em memória e renovados antes da expiração, então seu código de aplicação nunca encara um 401.

Envie um push FCM a partir do Delphi

Um snippet de 25 linhas que autentica com uma chave JSON de service account e empurra uma notificação para um ú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;

Publique e faça pull de mensagens

O Cloud Pub/Sub é a malha de mensageria at-least-once globalmente distribuída do Google — a espinha dorsal de incontáveis arquiteturas event-driven. A mesma credencial de service account dirige ambos os lados; publishers fazem POST em um tópico, subscribers ou puxam em um schedule ou aceitam entregas push em um 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;

Três passos para sua primeira chamada GCP

1. Instale

Coloque o sgcWebSockets na sua IDE Delphi ou C++Builder — um pacote por versão Delphi 7 a 13. Baixe o trial.

2. Crie um service account

No console Google Cloud, crie um service account, conceda as roles certas (por exemplo, Pub/Sub Publisher, Firebase Messaging Admin) e baixe a chave JSON.

3. Arraste um componente

Para FCM use TsgcHTTP_API_GoogleFCM, para Pub/Sub use TsgcHTTP_API_GoogleCloudPubSub, para Calendar use TsgcHTTP_API_GoogleCalendar — ou gere um SDK customizado com sgcOpenAPI.

Posts de blog relacionados

SDK Google Cloud para Delphi

Visão geral de como o sgcWebSockets expõe a superfície Google Cloud para desenvolvedores Pascal.

Firebase Cloud Messaging HTTP v1 em Delphi

Passo a passo da moderna FCM API e como ela substitui a server key legada.

Componente Google Cloud Pub/Sub para Delphi

Publique, faça pull e dê ack em mensagens com o componente Pub/Sub.

Google Calendar API v3

Crie e atualize eventos a partir de uma aplicação VCL ou FMX.

Google API key + OAuth2

Quando usar API key vs OAuth2 vs credenciais de service account.

Entregue integrações Google Cloud no seu app Delphi hoje

Baixe o trial — demos de FCM, Pub/Sub e Calendar vêm prontas para compilar.