Google Workspace aboneliği oluşturma

Bu sayfada, Google Workspace Events API'nin bir Google Workspace kaynağına abonelik oluşturmak için nasıl kullanılacağı açıklanmaktadır. Google Workspace aboneliği, uygulamanızın Google Workspace kaynağındaki değişiklikleri temsil eden Google Workspace etkinlikleri hakkında bilgi almasını sağlar. Google Workspace Events API'nin desteklediği kaynaklar ve etkinlik türleri hakkında bilgi edinmek için Google Workspace Events API'ye genel bakış başlıklı makaleyi inceleyin.

Bu sayfada, Google Workspace aboneliği oluşturmayla ilgili aşağıdaki adımlar yer almaktadır:

  1. Ortamınızı ayarlayın.
  2. Google Cloud Pub/Sub konusu oluşturun ve bu konuya abone olun. Google Workspace etkinliklerini almak için bu konuyu uç nokta olarak kullanırsınız.
  3. Kaynakta Google Workspace Events API'nin create() metodunu çağırın Subscription.
  4. Pub/Sub konunuzun abone olduğunuz etkinlikleri aldığından emin olmak için Google Workspace aboneliğinizi test edin.
  5. İsteğe bağlı olarak, uygulamanızın etkinliği işleyebilmesi ve gerekirse işlem yapabilmesi için etkinliklerin uygulamanızın bir uç noktasına nasıl gönderileceğini yapılandırın.

Ön koşullar

Apps Komut Dosyası

  • Bu kılavuzda yer alan Google Cloud KSA komutlarını kullanmak için:
    1. Google Cloud KSA'yı yükleyin.
    2. gcloud KSA'yı başlatmak için aşağıdaki kodu çalıştırın:
    3.   gcloud init
        
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi Chat abonelikleri için Cloud projenizde Chat API'yi de etkinleştirmeniz ve Uygulama adı, Avatar URL'si ve Açıklama alanlarını yapılandırmanız gerekir. Ayrıntılı bilgi için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
  • Uygulama için yapılandırılmış OAuth izin ekranıyla kullanıcı kimlik doğrulaması gerektirir. İzin ekranını yapılandırırken abonelik için her etkinlik türünü destekleyen bir kapsam belirtmeniz gerekir. İzin ekranını yapılandırmak ve gerekli kapsamları belirlemek için Kapsamları seçme başlıklı makaleyi inceleyin.
  • Apps Komut Dosyası projesi:
    • Apps Komut Dosyası tarafından otomatik olarak oluşturulan varsayılan proje yerine Google Cloud projenizi kullanın.
    • OAuth izin ekranını yapılandırmak için eklediğiniz tüm kapsamları, Apps Komut Dosyası projenizdeki appsscript.json dosyasına da eklemeniz gerekir. Örneğin:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Google Workspace Events gelişmiş hizmetini etkinleştirin.

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetim aracı
  • Python için en son Google istemci kitaplıkları. Bunları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Bu kılavuzda yer alan Google Cloud KSA komutlarını kullanmak için:
    1. Google Cloud KSA'yı yükleyin.
    2. gcloud KSA'yı başlatmak için aşağıdaki kodu çalıştırın:
    3.   gcloud init
        
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi Chat abonelikleri için Cloud projenizde Chat API'yi de etkinleştirmeniz ve Uygulama adı, Avatar URL'si ve Açıklama alanlarını yapılandırmanız gerekir. Ayrıntılı bilgi için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
  • Uygulama için yapılandırılmış OAuth izin ekranıyla kullanıcı kimlik doğrulaması gerektirir. İzin ekranını yapılandırırken abonelik için her etkinlik türünü destekleyen bir kapsam belirtmeniz gerekir. İzin ekranını yapılandırmak ve gerekli kapsamları belirlemek için Kapsamları seçme başlıklı makaleyi inceleyin.

Ortamınızı ayarlama

Aşağıdaki bölümde, Google Workspace aboneliği oluşturmadan önce ortamınızı nasıl ayarlayacağınız açıklanmaktadır.

Google Workspace Events API ve Google Cloud Pub/Sub API'yi etkinleştirme

Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.

Google Cloud konsolu

Google Cloud Console'da, uygulamanız için Google Cloud projesini açın ve Google Workspace Events API ile Pub/Sub API'yi etkinleştirin:

API'leri etkinleştirme

gcloud

  1. Çalışma dizininizde Google Hesabınızda oturum açın:

    gcloud auth login
  2. Projenizi uygulamanızın Cloud projesi olarak ayarlayın:

    gcloud config set project PROJECT_ID

    PROJECT_ID kısmını, uygulamanızın Cloud projesinin proje kimliği ile değiştirin.

  3. Google Workspace Events API ve Google Cloud Pub/Sub API'yi etkinleştirin:

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

OAuth istemci kimliği kimlik bilgileri oluşturma

OAuth istemci kimliği oluşturmayla ilgili özel talimatlar için uygulama türünüzü seçin:

Web uygulaması

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Web uygulaması'nı tıklayın.
  4. Ad alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Uygulamanızla ilgili yetkili URI'leri ekleyin:
    • İstemci tarafı uygulamalar (JavaScript): Yetkilendirilmiş JavaScript kaynakları bölümünde URI ekle'yi tıklayın. Ardından, tarayıcı istekleri için kullanılacak bir URI girin. Bu, uygulamanızın OAuth 2.0 sunucusuna API istekleri gönderebileceği alanları tanımlar.
    • Sunucu tarafı uygulamalar (Java, Python ve diğerleri): Yetkilendirilmiş yönlendirme URI'leri bölümünde URI ekle'yi tıklayın. Ardından, OAuth 2.0 sunucusunun yanıt gönderebileceği bir uç nokta URI'si girin.
  6. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.

    İstemci kimliğini not edin. İstemci gizli anahtarları web uygulamaları için kullanılmaz.

  7. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi OAuth 2.0 İstemci Kimlikleri altında görünür.

Yapay Zeka

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Android'i tıklayın.
  4. "Ad" alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Paket adı" alanına AndroidManifest.xml dosyanızdaki paket adını girin.
  6. "SHA-1 sertifika parmak izi" alanına oluşturduğunuz SHA-1 sertifika parmak izinizi girin.
  7. Oluştur'u tıklayın. Yeni istemci kimliğinizi gösteren OAuth istemcisi oluşturuldu ekranı görüntülenir.
  8. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

iOS

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > iOS'i tıklayın.
  4. "Ad" alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Paket Kimliği" alanına, uygulamanın Info.plist dosyasında listelenen paket kimliğini girin.
  6. İsteğe bağlı: Uygulamanız Apple App Store'da görünüyorsa App Store kimliğini girin.
  7. İsteğe bağlı: "Ekip Kimliği" alanına Apple tarafından oluşturulup ekibinize atanmış 10 karakter uzunluğundaki benzersiz dizeyi girin.
  8. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  9. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

Chrome uygulaması

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Chrome uygulaması'nı tıklayın.
  4. "Ad" alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Uygulama Kimliği" alanına uygulamanızın 32 karakter uzunluğundaki benzersiz kimlik dizesini girin. Bu kimlik değerini uygulamanızın Chrome Web Mağazası URL'sinde ve Chrome Web Mağazası Geliştirici Kontrol Paneli'nde bulabilirsiniz.
  6. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  7. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

Masaüstü uygulaması

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Masaüstü uygulaması'nı tıklayın.
  4. Ad alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  6. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi OAuth 2.0 İstemci Kimlikleri altında görünür.

TV'ler ve Sınırlı Giriş cihazları

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > TV'ler ve Sınırlı Giriş Cihazları'nı tıklayın.
  4. "Ad" alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  6. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

Evrensel Windows Platformu (UWP)

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Evrensel Windows Platformu (UWP)'nu tıklayın.
  4. "Ad" alanına, kimliğin adını yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Mağaza Kimliği" alanına uygulamanızın 12 karakterli benzersiz Microsoft Store kimliği değerini girin. Bu kimliği uygulamanızın Microsoft Store URL'sinde ve İş Ortağı Merkezi'nde bulabilirsiniz.
  6. Oluştur'u tıklayın. Yeni istemci kimliğinizi ve istemci gizli anahtarınızı gösteren OAuth istemcisi oluşturuldu ekranı gösterilir.
  7. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

İstemci gizli anahtarı JSON dosyasını indirme

İstemci gizli anahtarı dosyası, uygulamanızın kimlik bilgileri sağlarken referans verebileceği OAuth istemci kimliği kimlik bilgilerinin JSON temsilidir.

  1. Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.

    Kimlik Bilgileri'ne gidin

  2. OAuth 2.0 İstemci Kimlikleri bölümünde, oluşturduğunuz istemci kimliğini tıklayın.

  3. JSON'u indir'i tıklayın.

  4. Dosyayı client_secrets.json olarak kaydedin.

Pub/Sub konusu oluşturma ve abone olma

Bu bölümde, bir Pub/Sub konusu ve konuya abonelik oluşturursunuz. Pub/Sub konunuz, Google Workspace aboneliğinizin etkinlikleri aldığı bildirim uç noktası olarak işlev görür.

Pub/Sub konuları oluşturma ve yönetme hakkında daha fazla bilgi edinmek için Pub/Sub dokümanlarına göz atın.

Pub/Sub konusu oluşturmak ve abone olmak için:

Google Cloud konsolu

  1. Google Cloud Console'da Pub/Sub sayfasına gidin:

    Google Cloud Pub/Sub'a gidin

    Uygulamanız için Cloud projesinin seçildiğinden emin olun.

  2. Konu oluştur'u tıklayın ve aşağıdakileri yapın:

    1. Konunuz için bir ad girin (ör. workspace-events-topic).
    2. Varsayılan abonelik ekle'yi seçili bırakın. Pub/Sub, bu varsayılan aboneliği konunuzun adına benzer şekilde adlandırır (ör. workspace-events-topic-sub).
    3. İsteğe bağlı: Konunuzla ilgili ek özellikleri güncelleyin veya yapılandırın.
  3. Oluştur'u tıklayın. Tam konu adınız projects/PROJECT_ID/topics/TOPIC_ID şeklinde biçimlendirilir. Bu tam adı sonraki bir adımda kullanırsınız.

  4. Konunuza Pub/Sub mesajları yayınlama erişimi verin:

    1. Konunuzun sayfasında yan panele gidip İzinler sekmesini açın.
    2. Ana Hesap Ekle'yi tıklayın.
    3. Ana hesap ekle alanına, aboneliğinize etkinlik yayınlayan Google Workspace uygulamasının hizmet hesabını ekleyin:
      1. Chat etkinlikleri için chat-api-push@system.gserviceaccount.com.
      2. Meet etkinlikleri için meet-api-event-push@system.gserviceaccount.com.
    4. Rol ata menüsünde Pub/Sub Publisher simgesini seçin.
    5. Kaydet'i tıklayın. Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.

gcloud

  1. Cloud projenizde aşağıdaki komutu çalıştırarak bir konu oluşturun:

    gcloud pubsub topics create TOPIC_ID

    TOPIC_ID değerini, konunuza ait benzersiz bir kimlikle (ör. workspace-events-topic) değiştirin.

    Çıkışta, konu adının tamamı projects/PROJECT_ID/topics/TOPIC_ID biçiminde gösterilir. Adı not edin ve PROJECT_ID değerinin uygulamanızın Cloud proje kimliği olduğundan emin olun. Konu adını sonraki adımda ve daha sonra Google Workspace aboneliğini oluşturmak için kullanırsınız.

  2. Konunuzda mesaj yayınlama erişimi verin:

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

    Aşağıdakini değiştirin:

    • TOPIC_NAME: Önceki adımdan elde edilen tam konu adı. projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirilir.
    • GOOGLE_WORKSPACE_APPLICATION: Aboneliğinize etkinlik yayınlaması gereken Google Workspace uygulaması:

      • Chat'ten etkinlik almak için chat-api-push@system.gserviceaccount.com simgesini kullanın.
      • Meet'ten etkinlik almak için meet-api-event-push@system.gserviceaccount.com simgesini kullanın.

    Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.

  3. Konu için bir Pub/Sub aboneliği oluşturun:

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME

    Aşağıdakini değiştirin:

    • SUBSCRIPTION_NAME: Aboneliğinizin adı (ör. workspace-events-subscription).
    • TOPIC_NAME: Önceki adımda oluşturduğunuz konunun adı.

Google Workspace kaynağına abone olma

Bu bölümde, etkinlikler için izlemek istediğiniz Google Workspace kaynağına abone olursunuz.

Hedef kaynağı seçin ve tanımlayın

Google Workspace aboneliğinde hedef kaynak, etkinlikler için izlediğiniz Google Workspace kaynağıdır. Hedef kaynak, aboneliğin targetResource alanında tam kaynak adı kullanılarak biçimlendirilmiş şekilde temsil edilir. Örneğin, bir Google Chat alanını (spaces/AAAABBBBBBB) izleyen bir abonelik için targetResource değerinin //chat.googleapis.com/spaces/AAAABBBBBBB olması gerekir.

Aboneliği oluşturmadan önce, hedef kaynağı nasıl tanımlayacağınızı ve biçimlendireceğinizi öğrenmek için aşağıdaki bölümleri inceleyin.

Chat için hedef bir kaynak tanımlama

Hedef kaynak Biçim Sınırlamalar
Boşluk

//chat.googleapis.com/spaces/SPACE

Burada SPACE, Chat API space kaynağının kaynak adındaki kimliktir. Kimliği, alanın URL'sinden veya spaces.list() yöntemini kullanarak edinebilirsiniz.

Aboneliğe yetki veren Chat kullanıcısının, Google Workspace veya Google Hesabı üzerinden alanın üyesi olması gerekir.
Bir kullanıcının tüm alanları

//chat.googleapis.com/spaces/-

Abonelik yalnızca kullanıcının Google Workspace veya Google Hesabı üzerinden üye olduğu alanlarla ilgili etkinlikleri alır.
Kullanıcı

//cloudidentity.googleapis.com/users/USER

Burada USER, Chat API user kaynağının kaynak adındaki kimliktir. Ayrıntılı bilgi için Google Chat kullanıcılarını tanımlama ve belirtme başlıklı makaleyi inceleyin.

Abonelik yalnızca aboneliği yetkilendiren kullanıcıyla ilgili etkinlikleri alır. Kullanıcılar, başka kullanıcılar adına abonelik yetkilendiremez.

Meet için hedef bir kaynak tanımlama

Hedef kaynak Biçim Sınırlamalar (varsa)
Toplantı alanı //meet.googleapis.com/spaces/SPACE

Burada SPACE, Meet REST API space kaynağının kaynak adındaki kimliktir. Ayrıntılı bilgi için Meet'in toplantı mekanlarını nasıl tanımladığı başlıklı makaleyi inceleyin.

Kullanıcı //cloudidentity.googleapis.com/users/USER

Burada USER, Meet REST API participant kaynağının signedinUser.user alanındaki kimliktir. Ayrıntılı bilgi için Katılımcılarla çalışma başlıklı makaleyi inceleyin.

Abonelik, kullanıcının aşağıdakilerden biri olduğu toplantı alanlarıyla ilgili etkinlikler alır:

  • Toplantı alanının sahibi.
  • Toplantı alanıyla ilişkili Google Takvim etkinliğinin düzenleyicisi.

Google Workspace aboneliği oluşturma

Abonelik oluşturmak için Google Workspace Events API'nin Subscription kaynağı oluşturmak üzere subscriptions.create() yöntemini kullanırsınız. Aşağıdaki alanları belirtirsiniz:

  • targetResource: Önceki bölümde tanımladığınız, tam kaynak adı kullanılarak biçimlendirilmiş bir Google Workspace.
  • eventTypes: Kaynak hakkında bildirim almak istediğiniz bir veya daha fazla etkinlik türü dizisi. Örneğin, uygulamanızın yalnızca bir Chat alanına gönderilen yeni mesajlar hakkında bilgi alması gerekiyorsa uygulamanız, oluşturulan mesajlarla ilgili etkinliklere abone olabilir.
  • notificationEndpoint: Google Workspace aboneliğinizin etkinlikleri yayınladığı bir bildirim uç noktası. Önceki bölümde oluşturduğunuz Pub/Sub konusunu kullanırsınız.
  • payloadOptions: Etkinlik yüküne ne kadar kaynak verisi ekleneceğini belirten seçenekler. Bu yapılandırma, aboneliğinizin son kullanma süresini etkiler. Daha fazla bilgi için Etkinlik verileri başlıklı makaleyi inceleyin.

Google Workspace aboneliği oluşturmak için:

Apps Komut Dosyası

  1. Apps Komut Dosyası projenizde createSubscription adlı yeni bir komut dosyası dosyası oluşturun ve aşağıdaki kodu ekleyin:

    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);
    }
    

    Aşağıdakini değiştirin:

    • TARGET_RESOURCE: Abone olduğunuz Google Workspace kaynağının tam kaynak adı biçiminde yazılmış hali. Örneğin, alanı AAAABBBB olan bir Google Chat alanına abone olmak için //chat.googleapis.com/spaces/AAAABBBB değerini kullanın.
    • EVENT_TYPES: Hedef kaynakta abone olmak istediğiniz bir veya daha fazla etkinlik türü. 'google.workspace.chat.message.v1.created' gibi bir dize dizisi olarak biçimlendirin.
    • TOPIC_NAME: Cloud projenizde oluşturduğunuz Pub/Sub konusunun tam adı. projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirilir.
    • RESOURCE_DATA: Aboneliğin, yükte kaynak verileri içerip içermediğini belirten bir boole değeridir:

      • True: Tüm kaynak verilerini içerir. Hangi alanların dahil edileceğini sınırlamak için fieldMask alanını ekleyin ve değiştirilen kaynak için en az bir alan belirtin. Yalnızca Chat kaynaklarına aboneliklerde kaynak verileri desteklenir.
      • False: Kaynak verilerini hariç tutar.
  2. Google Workspace aboneliğini oluşturmak için Apps Komut Dosyası projenizde createSubscription işlevini çalıştırın.

Python

  1. Çalışma dizininizde create_subscription.py adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:

    """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('client_secrets.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)
    

    Aşağıdakini değiştirin:

    • SCOPES: Abonelik için her etkinlik türünü destekleyen bir veya daha fazla OAuth kapsamı. Dize dizisi olarak biçimlendirilir. Birden fazla kapsamı listelemek için virgülle ayırın. Örneğin, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • TARGET_RESOURCE: Abone olduğunuz Google Workspace kaynağının tam kaynak adı olarak biçimlendirilmiş hali. Örneğin, alanı AAAABBBB olan bir Google Chat alanına abone olmak için //chat.googleapis.com/spaces/AAAABBBB değerini kullanın.
    • EVENT_TYPES: Hedef kaynakta abone olmak istediğiniz bir veya daha fazla etkinlik türü. 'google.workspace.chat.message.v1.created' gibi bir dize dizisi olarak biçimlendirin.
    • TOPIC_NAME: Cloud projenizde oluşturduğunuz Pub/Sub konusunun tam adı. projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirilir.
    • RESOURCE_DATA: Aboneliğin, yükte kaynak verileri içerip içermediğini belirten bir boole değeridir:

      • True: Tüm kaynak verilerini içerir. Hangi alanların dahil edileceğini sınırlamak için fieldMask alanını ekleyin ve değiştirilen kaynak için en az bir alan belirtin. Yalnızca Chat kaynaklarına aboneliklerde kaynak verileri desteklenir.
      • False: Kaynak verilerini hariç tutar.
  2. Google Workspace aboneliğini oluşturmak için terminalinizde aşağıdaki komutu çalıştırın:

    python3 create_subscription.py

Google Workspace Events API, oluşturduğunuz Subscription kaynağının örneğini içeren tamamlanmış bir uzun süreli işlem döndürür.

Google Workspace aboneliğinizi test etme

Google Workspace etkinlikleri aldığınızı test etmek için bir etkinlik tetikleyebilir ve Pub/Sub aboneliğine mesaj çekebilirsiniz.

Google Workspace aboneliğinizi test etmek için:

Google Cloud konsolu

  1. Google Workspace aboneliğinizin hedef kaynağında bir veya daha fazla etkinlik türünü tetikleyin. Örneğin, bir Chat alanındaki yeni mesajlara abone olduysanız alana mesaj yayınlayın.

  2. Google Cloud Console'da Pub/Sub sayfasına gidin:

    Pub/Sub'a gitme

    Uygulamanız için Cloud projesinin seçildiğinden emin olun.

  3. Pub/Sub menüsünde Abonelikler'i tıklayın.

  4. Tabloda, konunuzun Pub/Sub aboneliğini bulup abonelik adını tıklayın.

  5. Mesajlar sekmesini tıklayın.

  6. Çek'i tıklayın. Bir etkinliğin Pub/Sub mesajı oluşturması birkaç dakika sürebilir.

gcloud

  1. Google Workspace aboneliğinizin hedef kaynağında bir veya daha fazla etkinlik türünü tetikleyin. Örneğin, bir Chat alanındaki yeni mesajlara abone olduysanız alanda mesaj yayınlayın.

  2. Aşağıdaki komutu çalıştırın:

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

    Aşağıdakini değiştirin:

    • PUBSUB_SUBSCRIPTION_NAME: Pub/Sub aboneliğinizin projects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID biçiminde biçimlendirilmiş tam adı.
    • MESSAGE_COUNT: Almak istediğiniz maksimum Pub/Sub mesajı sayısı.

    Bir etkinliğin Pub/Sub mesajı oluşturması birkaç dakika sürebilir.

Tetiklediğiniz her Google Workspace etkinliği için Pub/Sub aboneliğinize etkinliği içeren bir mesaj gönderilir. Ayrıntılar için Etkinlikleri Google Cloud Pub/Sub mesajları olarak alma başlıklı makaleyi inceleyin.

Uygulamanızın etkinlikleri nasıl alacağını yapılandırma

Oluşturduğunuz Pub/Sub aboneliği, çekme tabanlı olmalıdır. Pub/Sub aboneliğinizi test ettikten sonra, uygulamanızın etkinlikleri alma şeklini değiştirmek için yayınlama türünü güncelleyebilirsiniz. Örneğin, uygulamanızın etkinlikleri doğrudan bir uygulama uç noktasına alabilmesi için Pub/Sub aboneliğini bir push yayınlama türü olarak yapılandırabilirsiniz.

Pub/Sub aboneliğini yapılandırma hakkında bilgi edinmek için Pub/Sub dokümanlarına bakın.