Google Cloud SDK dla Delphi — FCM, Pub/Sub, Calendar i więcej

Spójny zestaw komponentów Pascala dla platformy Google Cloud: pchaj powiadomienia mobilne z Firebase Cloud Messaging HTTP v1, pobieraj / publikuj wiadomości na Cloud Pub/Sub, planuj zdarzenia na Google Calendar, podpisuj JWT service-account dla dowolnej usługi GCP i generuj silnie typowanych klientów dla dowolnego API Google z jego dokumentu discovery / OpenAPI — wszystko z sgcWebSockets.

Natywne komponenty dla każdej powierzchni GCP

Bez powiązań Python google-cloud, bez JDK Java, bez mostu Node.js — tylko komponenty Delphi, które mówią HTTPS, HTTP/2 i OAuth2 bezpośrednio do endpointów Google.

Google Cloud Platform udostępnia setki REST API — komunikaty, storage, kolejkowanie, tożsamość, mapowanie, machine learning, produktywność (Calendar, Drive, Gmail, Docs), reklama, analityka, billing i więcej. Do tej pory wywoływanie ich z Delphi oznaczało ręczne pisanie signerów JWT, refresherów tokenów OAuth2, uploaderów multipart i parserów SSE. sgcWebSockets dostarcza komponenty pierwszej klasy dla najczęstszych powierzchni — TsgcHTTP_API_GoogleFCM dla Firebase Cloud Messaging HTTP v1, TsgcHTTP_API_GoogleCloudPubSub dla Cloud Pub/Sub, TsgcHTTP_API_GoogleCalendar dla Calendar API v3 — plus wielokrotnie używalną infrastrukturę OAuth2 + service-account-JWT, która napędza każdy inny endpoint Google, oraz generator kodu sgcOpenAPI dla długiego ogona.

Uwierzytelnianie jest jednolite: projekt Google Cloud, klucz JSON service account (lub klient OAuth2 dla przepływów użytkownika końcowego) i odpowiednie zakresy https://www.googleapis.com/auth/.... Signer JWT biblioteki buduje asercję, żąda tokenu dostępu z oauth2.googleapis.com/token i buforuje / odświeża go transparentnie. Ten sam kod działa bez modyfikacji na Windows, macOS, Linux, iOS i Android, zarówno z warstwami UI VCL, jak i FMX.

Komponenty rdzenia

TsgcHTTP_API_GoogleFCM, TsgcHTTP_API_GoogleCloudPubSub, TsgcHTTP_API_GoogleCalendar, TsgcOAuth2Client, TsgcJWTClient.

Transport

HTTPS / HTTP/2 z TLS 1.3, OAuth2 + service-account JWT (RS256), buforowanie Bearer-token.

Platformy

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

Generator kodu

sgcOpenAPI konsumuje dowolny dokument Google discovery / OpenAPI i emituje klasy klienta Pascala.

Wrappery pierwszej klasy + wygenerowane SDK

Firebase Cloud Messaging (HTTP v1)

TsgcHTTP_API_GoogleFCM — wyślij powiadomienia push do klientów Android, iOS i webowych z nowoczesnym, opartym na OAuth2 API FCM HTTP v1. Cele topic / token / condition, ładunki danych, nadpisania image / sound / channel.

Cloud Pub/Sub

TsgcHTTP_API_GoogleCloudPubSub — publikuj wiadomości do tematów, pobieraj z subskrypcji, ack / nack, wsadowe wysyłanie, push-style subskrypcje HTTP z end-to-end podpisanymi kopertami.

Google Calendar API v3

TsgcHTTP_API_GoogleCalendar — listuj kalendarze, CRUD zdarzeń, zarządzaj uczestnikami, regułami cyklicznymi, zapytaniami free/busy i ACL — z zgodą użytkownika OAuth2 lub delegacją domain-wide service account.

Google Cloud Storage

Upload / pobieranie obiektów, signed URLs, resumable uploads i zarządzanie bucketami przez HTTPS — działa z dowolnym bucketem GCS i interop S3-kompatybilnym.

Google AI i Gemini

Natywny klient dla modeli generatywnego języka Gemini, embeddings i Vertex AI — strumieniowanie nad SSE, wywoływanie funkcji, wyjścia strukturalne JSON-mode.

Google Drive, Gmail, Sheets, Docs

Wygenerowane SDK przez sgcOpenAPI — OAuth2 + odpowiednie zakresy Workspace dają Ci klasy Pascala dla każdego endpointu.

Google Maps Platform

Geocoding, directions, distance matrix, places i roads — HTTPS + klucz API lub OAuth2.

Wygenerowane SDK Google Cloud

sgcOpenAPI emituje klasy klienta Pascala dla dowolnego REST API Google, który publikuje dokument OpenAPI — Compute Engine, BigQuery, Cloud Functions, Cloud Run, Secret Manager i pokrewne.

OAuth2 + service-account JWT, po stronie serwera

Większość API Google Cloud akceptuje dwie formy poświadczeń: klucz JSON service account (JWT podpisany RS256 wymieniany w oauth2.googleapis.com/token na krótkotrwały token bearer, bez interakcji użytkownika) oraz klient OAuth2 ze standardowym przepływem authorisation-code lub device-code dla danych użytkownika końcowego (Calendar, Drive, Gmail). sgcWebSockets pokrywa oba: TsgcJWTClient podpisuje asercję, TsgcOAuth2Client napędza przepływ użytkownika, a komponenty per-usługa konsumują dowolne poświadczenie, które podłączysz. Tokeny są buforowane w pamięci i odświeżane przed wygaśnięciem, więc kod Twojej aplikacji nigdy nie dotyka 401.

Wyślij push FCM z Delphi

25-liniowy fragment, który uwierzytelnia kluczem JSON service account i pcha powiadomienie do pojedynczego tokenu urządzenia.

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;

Publikuj i pobieraj wiadomości

Cloud Pub/Sub to globalnie dystrybuowana, at-least-once tkanina komunikatów Google — kręgosłup niezliczonych architektur zorientowanych na zdarzenia. Te same poświadczenia service account napędzają oba końce; wydawcy POST-ują wiadomości do tematu, subskrybenci albo pobierają zgodnie z harmonogramem, albo akceptują push-deliveries na 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;

Trzy kroki do pierwszego wywołania GCP

1. Zainstaluj

Wrzuć sgcWebSockets do swojego IDE Delphi lub C++Builder — jeden pakiet na wersję Delphi 7 do 13. Pobierz wersję próbną.

2. Utwórz service account

W konsoli Google Cloud utwórz service account, przyznaj mu właściwe role (np. Pub/Sub Publisher, Firebase Messaging Admin) i pobierz klucz JSON.

3. Upuść komponent

Dla FCM użyj TsgcHTTP_API_GoogleFCM, dla Pub/Sub użyj TsgcHTTP_API_GoogleCloudPubSub, dla Calendar użyj TsgcHTTP_API_GoogleCalendar — lub wygeneruj niestandardowy SDK z sgcOpenAPI.

Powiązane wpisy na blogu

Google Cloud SDK dla Delphi

Przegląd, jak sgcWebSockets udostępnia powierzchnię Google Cloud deweloperom Pascala.

Firebase Cloud Messaging HTTP v1 w Delphi

Przewodnik krok po kroku po nowoczesnym API FCM i jak zastępuje legacy server key.

Komponent Google Cloud Pub/Sub dla Delphi

Publikuj, pobieraj i potwierdzaj wiadomości komponentem Pub/Sub.

Google Calendar API v3

Twórz i aktualizuj zdarzenia z aplikacji VCL lub FMX.

Google API key + OAuth2

Kiedy użyć klucza API vs OAuth2 vs poświadczeń service account.

Dostarcz integracje Google Cloud w swojej aplikacji Delphi już dziś

Pobierz wersję próbną — dema FCM, Pub/Sub i Calendar są dostarczane gotowe do kompilacji.