Google Workspace aboneliği oluşturma

Bu sayfada, bir Google Workspace kaynağına abonelik oluşturmak için Google Workspace Events API'nin nasıl kullanılacağı açıklanmaktadır. Google Workspace aboneliği, uygulamanızın bir Google Workspace kaynağında yapılan değişiklikleri temsil eden Google Workspace etkinlikleri hakkında bilgi almasına olanak tanır. Google Workspace Etkinlikleri API'nin hangi kaynakları ve etkinlik türlerini desteklediğini öğrenmek için Google Workspace Etkinlikleri API'ye genel bakış sayfasını inceleyin.

Bu sayfada, Google Workspace aboneliği oluşturmak için aşağıdaki adımlar yer almaktadır:

  1. Ortamınızı ayarlayın.
  2. Google Cloud Pub/Sub konusu oluşturma ve konuya abone olma. Bu konuyu Google Workspace etkinliklerini almak için uç nokta olarak kullanırsınız.
  3. Subscription kaynağında Google Workspace Etkinlikleri API'sinin create() yöntemini çağırın.
  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 için bir uç noktaya nasıl aktarılacağını yapılandırın.

Ön koşullar

Apps Komut Dosyası

  • Bu kılavuzdaki Google Cloud CLI 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
        
  • Abonelik için hedef kaynak:
    • Google Chat alanlarına abone olabilmek için, kimliği doğrulanan kullanıcının üye olduğu Chat alanını kullanın. Kullanıcı, Google Workspace veya Google Hesabı üzerinden alanın üyesi olmalıdır (Google grubu aracılığıyla bir alanın üyesi olan kullanıcılar desteklenmez).
    • Bir Google Meet toplantı alanına abone olmak için, sahibi kimliği doğrulanmış kullanıcının oluşturduğu toplantı alanı. Alan oluşturmak için Google Meet belgelerinde Toplantı alanlarıyla çalışma başlıklı makaleyi inceleyin.
    • Bir Google Meet kullanıcısına abone olmak için Cloud Identity API'nin user kimliği
  • 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ü destekleyecek bir kapsam belirtmeniz gerekir. İzin ekranını yapılandırmak ve gerekli kapsamları belirlemek için Kapsamları seçme bölümüne bakın.
  • Bir 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 yeni Google istemci kitaplıkları. Bunları yüklemek veya güncellemek için komut satırı arayüzünüzde şu komutu çalıştırın:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Bu kılavuzdaki Google Cloud CLI 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
        
  • Abonelik için hedef kaynak:
    • Google Chat alanlarına abone olabilmek için, kimliği doğrulanan kullanıcının üye olduğu Chat alanını kullanın. Kullanıcı, Google Workspace veya Google Hesabı üzerinden alanın üyesi olmalıdır (Google grubu aracılığıyla bir alanın üyesi olan kullanıcılar desteklenmez).
    • Bir Google Meet toplantı alanına abone olmak için, sahibi kimliği doğrulanmış kullanıcının oluşturduğu toplantı alanı. Alan oluşturmak için Google Meet belgelerinde Toplantı alanlarıyla çalışma başlıklı makaleyi inceleyin.
    • Bir Google Meet kullanıcısına abone olmak için Cloud Identity API'nin user kimliği
  • 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ü destekleyecek bir kapsam belirtmeniz gerekir. İzin ekranını yapılandırmak ve gerekli kapsamları belirlemek için Kapsamları seçme bölümüne bakın.

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 bunları bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API etkinleştirebilirsiniz.

Google Cloud Console

Google Cloud konsolunda uygulamanızın Google Cloud projesini açıp Google Workspace Events API ve 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 için Cloud projesine ayarlayın:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID yerine uygulamanızın Cloud projesinin proje kimliğini girin.

  3. Google Workspace Etkinlikleri API'sini 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ştur

OAuth istemci kimliğinin nasıl oluşturulacağına ilişkin spesifik talimatlar için uygulama türünüzü seçin:

Web uygulaması

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

    Kimlik Bilgileri'ne git

  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 kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Uygulamanızla ilgili yetkili URI'leri ekleyin:
    • İstemci tarafı uygulamalar (JavaScript): Yetkili 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 alan adlarını tanımlar.
    • Sunucu tarafı uygulamalar (Java, Python ve daha fazlası): Yetkili 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. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.

    Client-ID'yi not alın. İstemci gizli anahtarları Web uygulamaları için kullanılmaz.

  7. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi, OAuth 2.0 İstemci Kimlikleri bölümünde gösterilir.

Android

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

    Kimlik Bilgileri'ne git

  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, kimlik bilgisi için bir ad 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 sertifikası parmak izini girin.
  7. Create'i (Oluştur) tıklayın. Yeni İstemci Kimliğinizi gösteren OAuth istemcisi oluşturma ekranı görünür.
  8. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 Client IDs" (OAuth 2.0 İstemci Kimlikleri) bölümünde görebilirsiniz.

iOS

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

    Kimlik Bilgileri'ne git

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > iOS'u tıklayın.
  4. "Ad" alanına, kimlik bilgisi için bir ad 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 tanımlayıcısını 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ı: "Team ID" (Ekip Kimliği) alanına Apple tarafından oluşturulan ve ekibinize atanan 10 karakterli benzersiz dizeyi girin.
  8. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.
  9. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 Client IDs" (OAuth 2.0 İstemci Kimlikleri) bölümünde görebilirsiniz.

Chrome uygulaması

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

    Kimlik Bilgileri'ne git

  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, kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Uygulama Kimliği" alanına uygulamanızın 32 karakterli 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. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.
  7. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 Client IDs" (OAuth 2.0 İstemci Kimlikleri) bölümünde görebilirsiniz.

Masaüstü uygulaması

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

    Kimlik Bilgileri'ne git

  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 kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.
  6. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi, OAuth 2.0 İstemci Kimlikleri bölümünde gösterilir.

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

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

    Kimlik Bilgileri'ne git

  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, kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.
  6. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 Client IDs" (OAuth 2.0 İstemci Kimlikleri) bölümünde görebilirsiniz.

Evrensel Windows Platformu (UWP)

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

    Kimlik Bilgileri'ne git

  2. Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Evrensel Windows Platformu (UWP) seçeneğini tıklayın.
  4. "Ad" alanına, kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud Console'da gösterilir.
  5. "Mağaza Kimliği" alanına uygulamanızın 12 karakterlik benzersiz Microsoft Store Kimliği değerini girin. Bu kimliği, uygulamanızın Microsoft Store URL'sinde ve İş Ortağı Merkezi'nde bulabilirsiniz.
  6. Create'i (Oluştur) tıklayın. OAuth istemcisi oluşturma ekranı görünür ve yeni İstemci Kimliğinizi ve İstemci sırrınızı gösterir.
  7. OK (Tamam) seçeneğini tıklayın. Yeni oluşturulan kimlik bilgisi "OAuth 2.0 Client IDs" (OAuth 2.0 İstemci Kimlikleri) bölümünde görebilirsiniz.

İstemci gizli anahtarı JSON dosyasını indirin

İstemci gizli anahtarı dosyası, uygulamanızın kimlik bilgilerini sağlarken başvurabileceği OAuth istemci kimliği kimlik bilgilerinin JSON gösterimidir.

  1. Google Cloud konsolunda Menü > API'ler ve Hizmetler > Kimlik Bilgileri'ne gidin.

    Kimlik Bilgileri'ne git

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

  3. Download JSON (JSON'ı indir) seçeneğini tıklayın.

  4. Dosyayı client_secrets.json olarak kaydedin.

Pub/Sub konusu oluşturma ve konuya abone olma

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

Pub/Sub konularını oluşturma ve yönetme hakkında daha fazla bilgi edinmek için Pub/Sub belgelerini inceleyin.

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

Google Cloud Console

  1. Google Cloud konsolunda Pub/Sub sayfasına gidin:

    Google Cloud Pub/Sub'a git

    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 workspace-events-topic gibi bir ad girin.
    2. Add a default subscription (Varsayılan abonelik ekle) seçeneğini işaretli bırakın. Pub/Sub, bu varsayılan aboneliği konunuzun adına benzer (örneğin, workspace-events-topic-sub) olarak adlandırır.
    3. İsteğe bağlı: Konunuz için ek mülkleri güncelleyin veya yapılandırın.
  3. Create'i (Oluştur) tıklayın. Konunuzun tam adı projects/PROJECT_ID/topics/TOPIC_ID şeklinde biçimlendirilir. Bu tam adı daha sonraki bir adımda kullanacaksınız.

  4. Konunuza Pub/Sub mesajları yayınlamak için erişim izni verin:

    1. Konunuzun sayfasında yan panele gidin ve İzinler sekmesini açın.
    2. Ana Hesap Ekle'yi tıklayın.
    3. Ana hesap ekle alanına, etkinlikleri aboneliğinize aktaran 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'i 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 yönelik benzersiz bir kimlikle (ör. workspace-events-topic) değiştirin.

    Çıkış, projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirilmiş tam konu adını gösterir. Adı not edin ve PROJECT_ID değerinin, uygulamanızın Cloud projesi kimliği olduğundan emin olun. Sonraki adımda ve Google Workspace aboneliğini daha sonra oluşturmak için konu adını kullanacaksınız.

  2. Konunuza mesaj yayınlamak için erişim izni 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ımın çıkışını belirten tam konu adı. projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirildi.
    • GOOGLE_WORKSPACE_APPLICATION: Aboneliğinize etkinlik yayınlaması gereken Google Workspace uygulaması:

      • Chat'ten etkinlik almak için chat-api-push@system.gserviceaccount.com kodunu kullanın.
      • Meet'ten etkinlik almak için meet-api-event-push@system.gserviceaccount.com uygulamasını 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ğiniz için bir ad (ör. workspace-events-subscription).
    • TOPIC_NAME: Önceki adımda oluşturduğunuz konunuzun adı.

Google Workspace aboneliği oluşturma

Bu bölümde, Subscription kaynağı oluşturmak için Google Workspace Etkinlikleri API'sinin subscriptions.create() yöntemini kullanacaksınız. Aşağıdaki alanları belirtirsiniz:

  • targetResource: Chat alanı gibi etkinlikleri izlenecek bir Google Workspace kaynağı.
  • eventTypes: Kaynak hakkında almak istediğiniz bir veya daha fazla etkinlik türü dizisi. Örneğin, uygulamanızın yalnızca bir Chat alanında yayınlanan yeni mesajlardan haberdar olması gerekiyorsa oluşturulan mesajlarla ilgili etkinliklere abone olabilir.
  • notificationEndpoint: Google Workspace aboneliğinizin etkinlik gönderdiği 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 verinin dahil edileceğini belirten seçeneklerdir. Bu yapılandırma, aboneliğinizin geçerlilik süresini etkiler. Daha fazla bilgi edinmek için Etkinlik verileri bölümüne bakın.

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

Apps Komut Dosyası

  1. Apps Komut Dosyası projenizde, createSubscription adında yeni bir komut 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ğı. Tam kaynak adı olarak biçimlendirilmiştir. Örneğin, AAAABBBB alan kimliğine sahip 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çimlendirildi.
    • RESOURCE_DATA: Aboneliğin yükte kaynak verileri içerip içermediğini belirten 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. Kaynak verileri dahil olmak üzere yalnızca Chat kaynağı abonelikleri destekler.
      • 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 şu 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: Abonelikte her etkinlik türünü destekleyen bir veya daha fazla OAuth kapsamı. Dize dizisi olarak biçimlendirilir. Birden çok kapsamı listelemek için bunları 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ğı. Tam kaynak adı olarak biçimlendirilmiştir. Örneğin, AAAABBBB alan kimliğine sahip 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çimlendirildi.
    • RESOURCE_DATA: Aboneliğin yükte kaynak verileri içerip içermediğini belirten 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. Kaynak verileri dahil olmak üzere yalnızca Chat kaynağı abonelikleri destekler.
      • 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 Etkinlikleri 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 alıp almadığınızı test etmek için bir etkinliği tetikleyebilir ve mesajları Pub/Sub aboneliğine alabilirsiniz.

Google Workspace aboneliğinizi test etmek için:

Google Cloud Console

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

  2. Google Cloud konsolunda Pub/Sub sayfasına gidin:

    Pub/Sub'a git

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

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

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

  5. Mesajlar sekmesini tıklayın.

  6. Pull'u tıklayın. Etkinliğin Pub/Sub mesajı oluşturması birkaç dakikayı bulabilir.

gcloud

  1. Google Workspace aboneliğinizin hedef kaynağında bir veya daha fazla etkinlik türünü tetikleyin. Örneğin, bir Chat alanında yeni mesajlara abone olduysanız alanda bir 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 olarak biçimlendirilmiş tam adı.
    • MESSAGE_COUNT: Almak istediğiniz maksimum Pub/Sub mesajı sayısı.

    Etkinliğin Pub/Sub mesajı oluşturması birkaç dakikayı bulabilir.

Tetiklediğiniz her Google Workspace etkinliği için Pub/Sub aboneliğinize etkinliği içeren bir mesaj gönderilir. Ayrıntılı bilgi için Etkinlikleri Google Cloud Pub/Sub mesajları olarak alma bölümünü inceleyin.

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

Oluşturduğunuz Pub/Sub aboneliği pull tabanlıdır. Pub/Sub aboneliğinizin testinden sonra, uygulamanızın etkinlikleri alma şeklini değiştirmek için yayınlama türünü güncelleyebilirsiniz. Örneğin, Pub/Sub aboneliğini bir push yayını türüne yapılandırarak uygulamanızın etkinlikleri doğrudan uygulama uç noktasına almasını sağlayabilirsiniz.

Pub/Sub aboneliğini yapılandırma hakkında bilgi edinmek için Pub/Sub belgelerini inceleyin.