Google Workspace aboneliği oluşturma

Bu sayfada, Google Workspace Events API'yi kullanarak Google Workspace kaynağına nasıl abone olunacağı açıklanmaktadır. Google Workspace aboneliği, uygulamanızın Google Workspace etkinlikleri hakkında bilgi almasına olanak tanır. Bu etkinlikler, Google Workspace kaynağındaki değişiklikleri temsil eder. Google Workspace Events API'nin hangi kaynakları ve etkinlik türlerini desteklediği 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şturma ve bu konuya abone olma Bu konuyu, Google Workspace etkinliklerini almak için bir uç nokta olarak kullanırsınız.
  3. Subscription kaynağında Google Workspace Events API'nin create yöntemini çağırın.
  4. Google Workspace aboneliğinizi test ederek Pub/Sub konunuzun, abone olduğunuz etkinlikleri aldığını doğrulayın.
  5. İsteğe bağlı olarak, uygulamanızın etkinlikleri işleyebilmesi ve gerekirse işlem yapabilmesi için etkinliklerin bir uç noktaya nasıl gönderileceğini yapılandırın.

Ön koşullar

Apps Komut Dosyası

  • Bu kılavuzdaki 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 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 Kapsam seçme başlıklı makaleyi inceleyin.
  • 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ı. Bu araçları 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ılavuzdaki 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 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 Kapsam 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ın 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ü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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 yetkilendirilmiş URI'leri ekleyin:
    • İstemci tarafı uygulamaları (JavaScript): Yetkilendirilmiş JavaScript kaynakları bölümünde URI ekle'yi tıklayın. Ardından, tarayıcı isteklerinde 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 vb.): 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 oluşturulan kimlik bilgisi OAuth 2.0 istemci kimlikleri altında görünür.

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

Android

  1. Google Cloud Console'da Menü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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şturulan SHA-1 sertifika parmak izinizi girin.
  7. Oluştur'u 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ü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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 tanımlayıcıyı 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şturulan ve ekibinize atanan 10 karakterlik benzersiz dizeyi girin.
  8. Oluştur'u 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ü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) tıklayın.
  3. Uygulama türü > Chrome Uzantısı'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. "Öğe kimliği" alanına uygulamanızın 32 karakterlik 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 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ü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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 oluşturulan kimlik bilgisi, "OAuth 2.0 İstemci Kimlikleri" bölümünde görünür.

TV'ler ve sınırlı giriş cihazları

  1. Google Cloud Console'da Menü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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 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ü > > İstemciler'e gidin.

    Müşteriler'e gidin.

  2. Create Client'ı (İstemci Oluştur) 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 benzersiz, 12 karakterlik 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 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 gösterimidir.

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

    Kimlik Bilgileri'ne gidin.

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

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

  4. Dosyayı credentials.json olarak kaydedin.

Pub/Sub konusu oluşturma ve bu 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 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 bakın.

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

Google Cloud konsolu

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

    Google Cloud Pub/Sub'a gitme

    Uygulamanızın Bulut 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 seçeneğini işaretli bırakın. Pub/Sub, bu varsayılan aboneliği konunuzun adına benzer şekilde adlandırır. Örneğin, workspace-events-topic-sub.
    3. İsteğe bağlı: Konunuz için 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 olarak biçimlendirilir. Bu tam adı sonraki adımlardan birinde kullanacaksı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 gönderen Google Workspace uygulamasının hizmet hesabını ekleyin:
      1. Sohbet etkinlikleri için: chat-api-push@system.gserviceaccount.com.
      2. Geliştirici Önizlemesi: Drive etkinlikleri için: drive-api-event-push@system.gserviceaccount.com.
      3. 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 yerine konunuz için benzersiz bir kimlik (ör. workspace-events-topic) girin.

    Çıkışta, tam konu adı projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirilmiş şekilde 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 verme:

    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 çıktısı olan tam konu adı. projects/PROJECT_ID/topics/TOPIC_ID olarak biçimlendirildi.
    • GOOGLE_WORKSPACE_APPLICATION: Aboneliğinize etkinlik göndermesi gereken Google Workspace uygulaması:

      • Chat'ten etkinlik almak için chat-api-push@system.gserviceaccount.com kullanın.
      • Geliştirici Önizlemesi: Drive'dan etkinlik almak için drive-api-event-push@system.gserviceaccount.com 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ğiniz için bir ad (ör. workspace-events-subscription).
    • TOPIC_NAME: Önceki adımda oluşturduğunuz konunuzun 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çme ve tanımlama

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 gösterilir. Örneğin, bir Google Chat alanını (spaces/AAAABBBBBBB) izleyen bir abonelik için targetResource değeri //chat.googleapis.com/spaces/AAAABBBBBBB olur.

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 kullanın.

Chat için hedef kaynak belirleme

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 alabilirsiniz.

Aboneliği yetkilendiren Chat kullanıcısı, Google Workspace veya Google Hesabı aracılığıyla alanın üyesi olmalıdır.
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 alanlardaki etkinlikleri alır.
Kullanıcı

//cloudidentity.googleapis.com/users/USER

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

Abonelik yalnızca aboneliği yetkilendiren kullanıcıyla ilgili etkinlikleri alır. Bir kullanıcı, diğer kullanıcılar adına abonelik yetkilendiremez.

Drive için hedef kaynak belirleme

Hedef kaynak Biçim Sınırlamalar (varsa)
Dosya //googleapis.com/drive/v3/files/FILE

Burada FILE, Drive API files kaynağının kaynak adındaki kimliktir. Kimliği dosyanın URL'sinden veya files.list yöntemini kullanarak alabilirsiniz.

Aboneliği yetkilendiren kullanıcının, etkinliğe abone olma işlemiyle ilgili olarak abonelikteki dosya üzerinde izni olmalıdır.
Ortak Drive //googleapis.com/drive/v3/drives/DRIVE

Burada DRIVE, Drive API drives kaynağının kaynak adındaki kimliktir. Kimliği sürücünün URL'sinden veya drives.list yöntemini kullanarak alabilirsiniz.

Abonelik yalnızca kullanıcının Google Workspace hesabı veya Google Hesabı aracılığıyla üye olduğu ortak drive'daki öğelerle ilgili etkinlikleri alır.

Meet için hedef kaynak belirleme

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ı alanı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 etkinlikleri alır:

  • Toplantı alanının sahibi.
  • Toplantı alanındaki bir katılımcı.
  • Toplantı alanıyla ilişkili Google Takvim etkinliğinin düzenleyeni.

Google Workspace aboneliği oluşturma

Abonelik oluşturmak için Google Workspace Events API'nin subscriptions.create yöntemini kullanarak Subscription kaynağı oluşturursunuz. Aşağıdaki alanları belirtirsiniz:

  • targetResource: Önceki bölümde tanımladığınız ve tam kaynak adı kullanılarak biçimlendirilmiş bir Google Workspace.
  • eventTypes: Kaynakla ilgili almak istediğiniz bir veya daha fazla etkinlik türünün dizisi. Örneğin, uygulamanızın yalnızca bir Chat alanına gönderilen yeni mesajlar hakkında bilgi edinmesi gerekiyorsa uygulamanız yalnızca oluşturulan mesajlarla ilgili etkinliklere abone olabilir.
  • notificationEndpoint: Google Workspace aboneliğinizin etkinlikleri ilettiğ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 verisi dahil edileceğini belirtme seçenekleri. Bu yapılandırma, aboneliğinizin sona erme 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ı 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ş. Örneğin, alan kimliği AAAABBBB olan bir Google Chat alanına abone olmak için //chat.googleapis.com/spaces/AAAABBBB 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 dizeler 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ükteki kaynak verilerini içerip içermediğini belirten bir Boole değeri:

      • 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 verilerinin eklenmesi yalnızca Chat kaynaklarına yönelik aboneliklerde 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('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)
    

    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ğı, tam kaynak adı olarak biçimlendirilmiş. Örneğin, alan kimliği AAAABBBB olan bir Google Chat alanına abone olmak için //chat.googleapis.com/spaces/AAAABBBB 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 dizeler 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ükteki kaynak verilerini içerip içermediğini belirten bir Boole değeri:

      • 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 verilerinin eklenmesi yalnızca Chat kaynaklarına yönelik aboneliklerde desteklenir.
      • False: Kaynak verilerini hariç tutar.
  2. Google Workspace aboneliğini oluşturmak için terminalinizde aşağıdakileri ç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üren işlem döndürür.

Google Workspace aboneliğinizi test etme

Google Workspace etkinliklerini aldığınızı test etmek için bir etkinliği tetikleyebilir ve mesajları Pub/Sub aboneliğine ç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 gönderin.

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

    Pub/Sub'a git

    Uygulamanızın Bulut 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. Ç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 tam adı, projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID olarak biçimlendirilmiş.
    • MESSAGE_COUNT: Çekmek istediğiniz Pub/Sub mesajlarının maksimum sayısı.

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

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

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

Oluşturduğunuz Pub/Sub aboneliği çekme tabanlıdır. Pub/Sub aboneliğinizi test ettikten sonra, uygulamanızın etkinlikleri nasıl alacağını değiştirmek için teslimat 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 push teslimat türü olarak yapılandırabilirsiniz.

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