Tworzenie subskrypcji Google Workspace

Na tej stronie dowiesz się, jak utworzyć subskrypcję zasobu Google Workspace za pomocą interfejsu Google Workspace Events API. Subskrypcja Google Workspace umożliwia aplikacji otrzymywanie informacji o wydarzeniach w Google Workspace, które odzwierciedlają zmiany w zasobie Google Workspace. Aby dowiedzieć się, jakie zasoby i typy zdarzeń obsługuje interfejs Google Workspace Events API, zapoznaj się z omówieniem interfejsu Google Workspace Events API.

Na tej stronie znajdziesz te instrukcje tworzenia subskrypcji Google Workspace:

  1. skonfigurować środowisko,
  2. utworzysz temat Google Cloud Pub/Sub i go zasubskrybujesz, Używasz tego tematu jako punktu końcowego do odbierania zdarzeń Google Workspace.
  3. Wywołaj metodę create interfejsu Google Workspace Events API na zasobie Subscription.
  4. Przetestuj subskrypcję Google Workspace, aby sprawdzić, czy temat Pub/Sub otrzymuje zdarzenia, które subskrybujesz.
  5. Opcjonalnie możesz skonfigurować sposób przesyłania zdarzeń do punktu końcowego aplikacji, aby aplikacja mogła przetwarzać zdarzenie i w razie potrzeby podejmować działania.

Wymagania wstępne

Google Apps Script

  • Aby używać poleceń interfejsu wiersza poleceń Google Cloud w tym przewodniku:
    1. Zainstaluj Google Cloud CLI.
    2. Aby zainicjować interfejs wiersza poleceń gcloud, uruchom ten kod:
    3.   gcloud init
        
  • Projekt Google Cloud z włączonymi płatnościami. W przypadku subskrypcji Google Chat musisz też włączyć interfejs Chat API w projekcie Cloud i skonfigurować pola Nazwa aplikacji, Adres URL awatara i Opis. Szczegółowe informacje znajdziesz w artykule Tworzenie aplikacji Google Chat.
  • Wymaga uwierzytelnienia użytkownika za pomocą ekranu zgody OAuth skonfigurowanego dla aplikacji. Podczas konfigurowania ekranu zgody musisz określić zakres, aby obsługiwać każdy typ zdarzenia w przypadku subskrypcji. Aby skonfigurować ekran zgody i określić wymagane zakresy, przeczytaj artykuł Wybieranie zakresów.
  • Projekt Apps Script:
    • Użyj projektu Google Cloud zamiast domyślnego projektu utworzonego automatycznie przez Apps Script.
    • Wszystkie zakresy dodane w celu skonfigurowania ekranu zgody OAuth musisz też dodać do pliku appsscript.json w projekcie Apps Script. Na przykład:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Włącz usługę zaawansowaną Google Workspace Events.

Python

  • Python 3.6 lub nowszy
  • Narzędzie do zarządzania pakietami pip
  • Najnowsze biblioteki klienta Google dla Pythona. Aby je zainstalować lub zaktualizować, w interfejsie wiersza poleceń uruchom to polecenie:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Aby używać poleceń interfejsu wiersza poleceń Google Cloud w tym przewodniku:
    1. Zainstaluj Google Cloud CLI.
    2. Aby zainicjować interfejs wiersza poleceń gcloud, uruchom ten kod:
    3.   gcloud init
        
  • Projekt Google Cloud z włączonymi płatnościami. W przypadku subskrypcji Google Chat musisz też włączyć interfejs Chat API w projekcie Cloud i skonfigurować pola Nazwa aplikacji, Adres URL awatara i Opis. Szczegółowe informacje znajdziesz w artykule Tworzenie aplikacji Google Chat.
  • Wymaga uwierzytelnienia użytkownika za pomocą ekranu zgody OAuth skonfigurowanego dla aplikacji. Podczas konfigurowania ekranu zgody musisz określić zakres, aby obsługiwać każdy typ zdarzenia w przypadku subskrypcji. Aby skonfigurować ekran zgody i określić wymagane zakresy, przeczytaj artykuł Wybieranie zakresów.

Konfigurowanie środowiska

W sekcji poniżej znajdziesz informacje o tym, jak skonfigurować środowisko przed utworzeniem abonamentu Google Workspace.

Włącz interfejsy Google Workspace Events API i Google Cloud Pub/Sub API

Zanim zaczniesz korzystać z interfejsów Google API, musisz je włączyć w projekcie Google Cloud. W jednym projekcie Google Cloud możesz włączyć co najmniej 1 interfejs API.

Google Cloud Console

W konsoli Google Cloud otwórz projekt Google Cloud dla swojej aplikacji i włącz interfejsy Google Workspace Events API i Pub/Sub API:

Włączanie interfejsów API

gcloud

  1. W katalogu roboczym zaloguj się na konto Google:

    gcloud auth login
  2. Ustaw projekt na projekt Cloud dla aplikacji:

    gcloud config set project PROJECT_ID

    Zastąp PROJECT_ID identyfikatorem projektu projektu Cloud dla Twojej aplikacji.

  3. Włącz interfejs Google Workspace Events API i Google Cloud Pub/Sub API:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com

Tworzenie danych logowania identyfikatora klienta OAuth

Wybierz typ aplikacji, aby uzyskać szczegółowe instrukcje tworzenia identyfikatora klienta OAuth:

Aplikacja internetowa

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Aplikacja internetowa.
  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. Dodaj autoryzowane identyfikatory URI związane z Twoją aplikacją:
    • Aplikacje po stronie klienta (JavaScript) – w sekcji Autoryzowane źródła JavaScriptu kliknij Dodaj URI. Następnie wpisz identyfikator URI, który ma być używany w żądaniach przeglądarki. Określa domeny, z których aplikacja może wysyłać żądania API do serwera OAuth 2.0.
    • Aplikacje po stronie serwera (Java, Python i inne) – w sekcji Autoryzowane identyfikatory URI przekierowania kliknij Dodaj URI. Następnie wpisz identyfikator URI punktu końcowego, do którego serwer OAuth 2.0 może wysyłać odpowiedzi.
  6. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji Identyfikatory klienta OAuth 2.0.

    Zapisz identyfikator klienta. W przypadku aplikacji internetowych nie używa się kluczy klienta.

Android

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Android.
  4. W polu „Nazwa” wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. W polu „Nazwa pakietu” wpisz nazwę pakietu z pliku AndroidManifest.xml.
  6. W polu „Odcisk cyfrowy certyfikatu SHA-1” wpisz wygenerowany odcisk cyfrowy certyfikatu SHA-1.
  7. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

iOS

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > iOS.
  4. W polu „Nazwa” wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. W polu „Identyfikator pakietu” wpisz identyfikator pakietu podany w pliku Info.plist aplikacji.
  6. Opcjonalnie: jeśli Twoja aplikacja jest dostępna w Apple App Store, wpisz identyfikator sklepu App Store.
  7. Opcjonalnie: w polu „Identyfikator zespołu” wpisz niepowtarzalny ciąg 10 znaków wygenerowany przez Apple, który został przypisany Twojemu zespołowi.
  8. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

Aplikacja Chrome

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Rozszerzenie Chrome.
  4. W polu „Nazwa” wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. W polu „Identyfikator produktu” wpisz unikalny 32-znakowy ciąg identyfikatora aplikacji. Wartość tego identyfikatora znajdziesz w adresie URL aplikacji w Chrome Web Store oraz w Panelu dewelopera Chrome Web Store.
  6. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

Aplikacja komputerowa

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Aplikacja na komputer.
  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

TV i urządzenia z ograniczoną możliwością wpisywania

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Telewizory i urządzenia z ograniczonymi możliwościami wprowadzania danych.
  4. W polu „Nazwa” wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

Universal Windows Platform (UWP)

  1. W konsoli Google Cloud otwórz Menu  > > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Uniwersalna platforma Windows (UWP).
  4. W polu „Nazwa” wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
  5. W polu „Identyfikator sklepu” wpisz unikalny 12-znakowy identyfikator aplikacji w Microsoft Store. Ten identyfikator znajdziesz w adresie URL aplikacji w Microsoft Store i w Centrum partnerów.
  6. Kliknij Utwórz.

    Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.

Pobieranie pliku JSON z tajnym kluczem klienta

Plik tajnego klucza klienta to reprezentacja JSON danych logowania identyfikatora klienta OAuth, do których aplikacja może się odwoływać podczas podawania danych logowania.

  1. W konsoli Google Cloud kliknij Menu  > Interfejsy API i usługi > Dane logowania.

    Przejdź do danych logowania

  2. W sekcji Identyfikatory klienta OAuth 2.0 kliknij utworzony identyfikator klienta.

  3. Kliknij Pobierz JSON.

  4. Zapisz plik jako credentials.json.

Tworzenie tematu Pub/Sub i subskrybowanie go

W tej sekcji utworzysz temat Pub/Sub i subskrypcję tego tematu. Temat Pub/Sub służy jako punkt końcowy powiadomień, w którym subskrypcja Google Workspace otrzymuje zdarzenia.

Więcej informacji o tworzeniu tematów Pub/Sub i zarządzaniu nimi znajdziesz w dokumentacji Pub/Sub.

Aby utworzyć temat Pub/Sub i zasubskrybować go:

Google Cloud Console

  1. W konsoli Google Cloud otwórz stronę Pub/Sub:

    Otwórz Google Cloud Pub/Sub

    Sprawdź, czy wybrany jest projekt Cloud dla Twojej aplikacji.

  2. Kliknij  Utwórz temat i wykonaj te czynności:

    1. Wpisz nazwę tematu, np. workspace-events-topic.
    2. Pozostaw zaznaczoną opcję Dodaj subskrypcję domyślną. Pub/Sub nadaje tej domyślnej subskrypcji nazwę podobną do nazwy tematu, np. workspace-events-topic-sub.
    3. Opcjonalnie: zaktualizuj lub skonfiguruj dodatkowe właściwości tematu.
  3. Kliknij Utwórz. Pełna nazwa tematu jest sformatowana jako projects/PROJECT_ID/topics/TOPIC_ID. Użyjesz tej pełnej nazwy w późniejszym kroku.

  4. Przyznaj dostęp do publikowania wiadomości Pub/Sub w temacie:

    1. Na stronie tematu otwórz panel boczny i kliknij kartę Uprawnienia.
    2. Kliknij Dodaj podmiot zabezpieczeń.
    3. W polu Dodaj podmioty zabezpieczeń dodaj konto usługi aplikacji Google Workspace, która dostarcza wydarzenia do Twojej subskrypcji:
      1. W przypadku wydarzeń w Google Chat:chat-api-push@system.gserviceaccount.com
      2. Wersja zapoznawcza dla deweloperów: w przypadku zdarzeń na Dysku, drive-api-event-push@system.gserviceaccount.com.
      3. W przypadku wydarzeń w Meet:meet-api-event-push@system.gserviceaccount.com
    4. W menu Przypisz role wybierz Pub/Sub Publisher.
    5. Kliknij Zapisz. Aktualizacja uprawnień do tematu może potrwać kilka minut.

gcloud

  1. W projekcie w Google Cloud utwórz temat, uruchamiając to polecenie:

    gcloud pubsub topics create TOPIC_ID

    Zastąp TOPIC_ID unikalnym identyfikatorem tematu, np. workspace-events-topic.

    Dane wyjściowe zawierają pełną nazwę tematu sformatowaną jakoprojects/PROJECT_ID/topics/TOPIC_ID. Zanotuj nazwę i sprawdź, czy wartość PROJECT_ID to identyfikator projektu w Google Cloud dla Twojej aplikacji. Nazwy tematu użyjesz w następnym kroku oraz do utworzenia subskrypcji Google Workspace w późniejszym czasie.

  2. Przyznaj uprawnienia do publikowania wiadomości w temacie:

    gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'

    Zastąp następujące elementy:

    • TOPIC_NAME: pełna nazwa tematu, która jest wynikiem poprzedniego kroku. Sformatowano jako projects/PROJECT_ID/topics/TOPIC_ID.
    • GOOGLE_WORKSPACE_APPLICATION: Aplikacja Google Workspace, która musi dostarczać zdarzenia do Twojej subskrypcji:

      • Aby otrzymywać zdarzenia z Google Chat, użyj chat-api-push@system.gserviceaccount.com.
      • Wersja przedpremierowa dla programistów: aby otrzymywać zdarzenia z Dysku, użyj drive-api-event-push@system.gserviceaccount.com.
      • Aby otrzymywać zdarzenia z Meet, użyj meet-api-event-push@system.gserviceaccount.com.

    Aktualizacja uprawnień do tematu może potrwać kilka minut.

  3. Utwórz subskrypcję Pub/Sub dla tematu:

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME

    Zastąp następujące elementy:

    • SUBSCRIPTION_NAME: Nazwa subskrypcji, np. workspace-events-subscription.
    • TOPIC_NAME: Nazwa tematu utworzonego w poprzednim kroku.

Subskrybowanie zasobu Google Workspace

W tej sekcji subskrybujesz zasób Google Workspace, który chcesz monitorować pod kątem zdarzeń.

Wybierz i określ zasób docelowy

W subskrypcji Google Workspace zasób docelowy to zasób Google Workspace, który monitorujesz pod kątem zdarzeń. Zasób docelowy jest reprezentowany w polu targetResource subskrypcji w formacie pełnej nazwy zasobu. Na przykład w przypadku subskrypcji, która monitoruje pokój Google Chat (spaces/AAAABBBBBBB), wartość targetResource to //chat.googleapis.com/spaces/AAAABBBBBBB.

Wskazywanie zasobu docelowego w Google Chat

Zasób docelowy Format Ograniczenia
Spacja

//chat.googleapis.com/spaces/SPACE

gdzie SPACE to identyfikator w nazwie zasobu zasobu space interfejsu Chat API. Możesz go uzyskać z adresu URL przestrzeni lub za pomocą metody spaces.list().

Użytkownik Chat, który autoryzuje subskrypcję, musi być członkiem pokoju na koncie Google Workspace lub Google.
Wszystkie przestrzenie użytkownika

//chat.googleapis.com/spaces/-

Subskrypcja otrzymuje tylko wydarzenia dotyczące pokoi, w których użytkownik jest członkiem za pomocą konta Google Workspace lub konta Google.
Użytkownik

//cloudidentity.googleapis.com/users/USER

gdzie USER to identyfikator w nazwie zasobu zasobu user interfejsu Chat API. Szczegółowe informacje znajdziesz w artykule Identyfikowanie i określanie użytkowników Google Chat.

Subskrypcja otrzymuje tylko zdarzenia dotyczące użytkownika, który ją autoryzował. Użytkownik nie może autoryzować subskrypcji w imieniu innych użytkowników.

Określanie zasobu docelowego na Dysku

Zasób docelowy Format Ograniczenia (w odpowiednich przypadkach)
Plik //drive.googleapis.com/files/FILE

gdzie FILE to identyfikator w nazwie zasobu zasobu files interfejsu Drive API. Możesz go uzyskać z adresu URL pliku lub za pomocą metody files.list.

Użytkownik, który autoryzuje subskrypcję, musi mieć uprawnienia do pliku w subskrypcji w odniesieniu do zdarzenia subskrypcji.
Dysk współdzielony //drive.googleapis.com/drives/DRIVE

gdzie DRIVE to identyfikator w nazwie zasobu zasobu drives interfejsu Drive API. Możesz go uzyskać z adresu URL dysku lub za pomocą metody drives.list.

Subskrypcja otrzymuje tylko zdarzenia dotyczące elementów na dysku współdzielonym, na którym użytkownik jest członkiem za pomocą konta Google Workspace lub konta Google.

Określanie zasobu docelowego dla Meet

Zasób docelowy Format Ograniczenia (w odpowiednich przypadkach)
Miejsce spotkań //meet.googleapis.com/spaces/SPACE

gdzie SPACE to identyfikator w nazwie zasobu zasobu space interfejsu Meet REST API. Więcej informacji znajdziesz w artykule Jak Meet identyfikuje pomieszczenie do spotkań.

Użytkownik //cloudidentity.googleapis.com/users/USER

gdzie USER to identyfikator w polu signedinUser.user zasobu participant interfejsu Meet REST API. Więcej informacji znajdziesz w artykule Praca z uczestnikami.

Subskrypcja otrzymuje zdarzenia dotyczące miejsc spotkań, w których użytkownik jest:

  • Właściciel zaplecza konferencyjnego.
  • uczestnik w pokoju spotkań,
  • Organizator wydarzenia w Kalendarzu Google powiązanego z miejscem spotkania.

Tworzenie subskrypcji Google Workspace

Aby utworzyć subskrypcję, użyj metody subscriptions.create interfejsu Google Workspace Events API, aby utworzyć zasób Subscription. Określ te pola:

  • targetResource: Google Workspace zidentyfikowany w poprzedniej sekcji, sformatowany przy użyciu pełnej nazwy zasobu.
  • eventTypes: tablica zawierająca co najmniej 1 typ zdarzenia, o którym chcesz otrzymywać informacje dotyczące zasobu. Jeśli na przykład Twoja aplikacja musi tylko wiedzieć o nowych wiadomościach opublikowanych w pokoju w Google Chat, może subskrybować tylko zdarzenia dotyczące utworzonych wiadomości.
  • notificationEndpoint: punkt końcowy powiadomień, do którego subskrypcja Google Workspace dostarcza zdarzenia. Użyj tematu Pub/Sub utworzonego w poprzedniej sekcji.
  • payloadOptions: opcje określania, ile danych o zasobach ma być uwzględnionych w ładunku zdarzenia. Ta konfiguracja wpływa na czas wygaśnięcia subskrypcji. Więcej informacji znajdziesz w sekcji Dane zdarzenia.

Aby utworzyć subskrypcję Google Workspace:

Google Apps Script

  1. W projekcie Apps Script utwórz nowy plik skryptu o nazwie createSubscription i dodaj ten kod:

    function createSubscription() {
      // The Google Workspace resource to monitor for events.
      const targetResource = 'TARGET_RESOURCE';
    
      // The types of events to receive.
      const eventTypes = [EVENT_TYPES];
    
      // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
      const pubsubTopic = 'TOPIC_NAME';
    
      // Whether to include resource data or not.
      const resourceData = RESOURCE_DATA;
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.create({
        targetResource: targetResource,
        eventTypes: eventTypes,
        notificationEndpoint: {
          pubsubTopic: pubsubTopic,
        },
        payloadOptions: {
          includeResource: resourceData
        }
      });
      console.log(response);
    }
    

    Zastąp następujące elementy:

    • TARGET_RESOURCE: zasób Google Workspace, który subskrybujesz, sformatowany jako pełna nazwa zasobu. Na przykład, aby zasubskrybować pokój Google Chat o identyfikatorze AAAABBBB, użyj //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Co najmniej 1 typ zdarzenia, na który chcesz się subskrybować w zasobie docelowym. Sformatuj jako tablicę ciągów znaków, np. 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: pełna nazwa tematu Pub/Sub utworzonego w projekcie Cloud. Sformatowano jako projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: wartość logiczna określająca, czy subskrypcja zawiera dane zasobów w ładunku:

      • True: obejmuje wszystkie dane zasobów. Aby ograniczyć liczbę uwzględnianych pól, dodaj pole fieldMask i określ co najmniej 1 pole dla zmienionego zasobu. Tylko subskrypcje zasobów Google Chat obsługują uwzględnianie danych zasobów.
      • False: nie obejmuje danych o zasobach.
  2. Aby utworzyć subskrypcję Google Workspace, uruchom funkcję createSubscription w projekcie Apps Script.

Python

  1. W katalogu roboczym utwórz plik o nazwie create_subscription.py i dodaj ten kod:

    """Create subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # The Google Workspace resource to monitor for events.
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    # The types of events to receive.
    EVENT_TYPES = [EVENT_TYPES]
    
    # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
    TOPIC = 'TOPIC_NAME'
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'target_resource': TARGET_RESOURCE,
        'event_types': EVENT_TYPES,
        'notification_endpoint': {'pubsub_topic': TOPIC},
        'payload_options': {'include_resource': RESOURCE_DATA},
    }
    response = service.subscriptions().create(body=BODY).execute()
    print(response)
    

    Zastąp następujące elementy:

    • SCOPES: co najmniej 1 zakres OAuth, który obsługuje każdy typ zdarzenia w przypadku subskrypcji. Sformatowane jako tablica ciągów tekstowych. Aby podać kilka zakresów, rozdziel je przecinkami. Na przykład: 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • TARGET_RESOURCE: zasób Google Workspace, który subskrybujesz, sformatowany jako pełna nazwa zasobu. Na przykład, aby zasubskrybować pokój Google Chat o identyfikatorze AAAABBBB, użyj //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Co najmniej 1 typ zdarzenia, na który chcesz się subskrybować w zasobie docelowym. Sformatuj jako tablicę ciągów znaków, np. 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: pełna nazwa tematu Pub/Sub utworzonego w projekcie Cloud. Sformatowano jako projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: wartość logiczna określająca, czy subskrypcja zawiera dane zasobów w ładunku:

      • True: obejmuje wszystkie dane zasobów. Aby ograniczyć liczbę uwzględnianych pól, dodaj pole fieldMask i określ co najmniej 1 pole dla zmienionego zasobu. Tylko subskrypcje zasobów Google Chat obsługują uwzględnianie danych zasobów.
      • False: nie obejmuje danych o zasobach.
  2. Aby utworzyć subskrypcję Google Workspace, uruchom w terminalu to polecenie:

    python3 create_subscription.py

Interfejs Google Workspace Events API zwraca ukończoną operację długotrwałą, która zawiera instancję utworzonego zasobu Subscription.

Testowanie subskrypcji Google Workspace

Aby sprawdzić, czy otrzymujesz zdarzenia Google Workspace, możesz wywołać zdarzenie i pobrać wiadomości do subskrypcji Pub/Sub.

Aby przetestować subskrypcję Google Workspace:

Google Cloud Console

  1. Wywoływanie co najmniej 1 typu zdarzeń w zasobie docelowym subskrypcji Google Workspace. Jeśli na przykład subskrybujesz nowe wiadomości w pokoju czatu, opublikuj w nim wiadomość.

  2. W konsoli Google Cloud otwórz stronę Pub/Sub:

    Otwórz stronę Pub/Sub

    Sprawdź, czy wybrany jest projekt Cloud dla Twojej aplikacji.

  3. W menu Pub/Sub kliknij Subskrypcje.

  4. W tabeli znajdź subskrypcję Pub/Sub dla swojego tematu i kliknij nazwę subskrypcji.

  5. Kliknij kartę Wiadomości.

  6. Kliknij Pobierz. Wygenerowanie wiadomości Pub/Sub przez zdarzenie może potrwać kilka minut.

gcloud

  1. Wywoływanie co najmniej 1 typu zdarzeń w zasobie docelowym subskrypcji Google Workspace. Jeśli na przykład subskrybujesz nowe wiadomości w pokoju czatu, opublikuj w nim wiadomość.

  2. Uruchom to polecenie:

    gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack

    Zastąp następujące elementy:

    • PUBSUB_SUBSCRIPTION_NAME: pełna nazwa subskrypcji Pub/Sub w formacie projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID.
    • MESSAGE_COUNT: maksymalna liczba wiadomości Pub/Sub, które chcesz pobrać.

    Wygenerowanie wiadomości Pub/Sub na podstawie zdarzenia może potrwać kilka minut.

W przypadku każdego wywołanego zdarzenia Google Workspace do subskrypcji Pub/Sub jest dostarczany komunikat zawierający to zdarzenie. Szczegółowe informacje znajdziesz w artykule Otrzymywanie zdarzeń jako wiadomości Google Cloud Pub/Sub.

Konfigurowanie sposobu, w jaki aplikacja otrzymuje zdarzenia

Utworzona subskrypcja Pub/Sub jest oparta na pobieraniu. Po przetestowaniu subskrypcji Pub/Sub możesz zaktualizować typ dostawy, aby zmienić sposób, w jaki aplikacja odbiera zdarzenia. Możesz na przykład skonfigurować subskrypcję Pub/Sub tak, aby korzystała z typu dostawy push, dzięki czemu aplikacja będzie mogła otrzymywać zdarzenia bezpośrednio do punktu końcowego aplikacji.

Więcej informacji o konfigurowaniu subskrypcji Pub/Sub znajdziesz w dokumentacji Pub/Sub.