Google Workspace aboneliklerini listeleme

Bu sayfada, subscriptions.list() yöntemini kullanarak Google Workspace aboneliklerini nasıl listeleyebileceğiniz açıklanmaktadır.

Kullanıcı kimlik doğrulamasıyla bu yöntemi çağırdığınızda yöntem, kullanıcı tarafından yetkilendirilen aboneliklerin listesini döndürür. Uygulama kimlik doğrulamasını kullandığınızda yöntem, uygulama için herhangi bir aboneliği içeren bir liste döndürebilir.

Ön koşullar

Apps Komut Dosyası

  • 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
      
  • Google Workspace aboneliği. Yeni bir abonelik oluşturmak için Abonelik oluşturma konusuna bakın.

  • Kimlik doğrulama gerektirir:

    • Kullanıcı kimlik doğrulaması için aboneliğin etkinlik türlerinden en az birini destekleyen bir kapsam gerekir. Bir kapsam tanımlamak için Etkinlik türüne göre kapsamlar bölümüne bakın.
    • Uygulama kimlik doğrulaması için chat.bot kapsamını gerektirir (yalnızca Google Chat uygulamaları).

Bir kullanıcı tarafından yetkilendirilen abonelikleri listeleme

Abonelikleri listelemek için en az bir etkinlik türüne göre filtreleme yapmanız gerekir. Sorgunuzu bir veya daha fazla hedef kaynağa göre de filtreleyebilirsiniz. Desteklenen sorgu filtreleri hakkında bilgi edinmek için list() yöntemi belgelerine göz atın.

Aşağıdaki kod örneği, etkinlik türüne ve hedef kaynağa göre filtrelenmiş Subscription nesne dizisi döndürür. Kullanıcı olarak kimlik doğrulaması yapıldığında, yöntem yalnızca kullanıcının uygulamanın oluşturması için yetkilendirdiği aboneliklerin listesini döndürür.

Belirtilen etkinlik türü ve hedef kaynak için abonelikleri listeleme:

Apps Komut Dosyası

  1. Apps Komut Dosyası projenizde, listSubscriptions adında yeni bir komut dosyası oluşturun ve aşağıdaki kodu ekleyin:

    function listSubscriptions() {
      // Filter for event type (required).
      const eventType = 'EVENT_TYPE';
    
      // Filter for target resource (optional).
      const targetResource = 'TARGET_RESOURCE';
    
      const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"`
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.list({ filter });
      console.log(response);
    }
    

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

    • EVENT_TYPE: CloudEvents spesifikasyonuna göre biçimlendirilmiş bir etkinlik türü. Örneğin, bir Google Chat alanındaki yeni üyeliklerle ilgili etkinliklerin gönderildiği abonelikleri filtrelemek için google.workspace.chat.message.v1.created.
    • TARGET_RESOURCE: Tam kaynak adı olarak biçimlendirilmiş bir hedef kaynak. Örneğin, bir Google Chat alanını aboneliklere göre filtrelemek için //chat.googleapis.com/spaces/SPACE_ID değerini kullanın. Buradaki spaces/SPACE_ID, Space kaynağının name alanını temsil eder.
  2. Abonelikleri listelemek için Apps Komut Dosyası projenizde listSubscriptions işlevini çalıştırın.

Python

  1. Çalışma dizininizde list_subscriptions.py adlı bir dosya oluşturun ve şu kodu ekleyin:

    """List subscriptions."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    # Filter for event type (required).
    EVENT_TYPE = 'EVENT_TYPE'
    
    # Filter for target resource (optional).
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"'
    response = service.subscriptions().list(filter=FILTER).execute()
    print(response)
    

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

    • SCOPE: Abonelikteki en az bir etkinlik türünü destekleyen bir OAuth kapsamı. Örneğin, aboneliğiniz etkinlik alırsa güncellenmiş bir Chat alanı varsa (https://www.googleapis.com/auth/chat.spaces.readonly).
    • EVENT_TYPE: CloudEvents spesifikasyonuna göre biçimlendirilmiş bir etkinlik türü. Örneğin, bir Google Chat alanındaki yeni üyeliklerle ilgili etkinliklerin gönderildiği abonelikleri filtrelemek için google.workspace.chat.message.v1.created.
    • TARGET_RESOURCE: Tam kaynak adı olarak biçimlendirilmiş bir hedef kaynak. Örneğin, bir Google Chat alanını aboneliklere göre filtrelemek için //chat.googleapis.com/spaces/SPACE_ID değerini kullanın. Buradaki spaces/SPACE_ID, Space kaynağının name alanını temsil eder.
  2. Çalışma dizininizde OAuth istemci kimliği kimlik bilgilerinizi depoladığınızdan ve dosyayı client_secrets.json olarak adlandırdığınızdan emin olun. Kod örneği, Google Workspace ile kimlik doğrulamak ve kullanıcı kimlik bilgilerini almak için bu JSON dosyasını kullanır. Talimatlar için OAuth istemci kimliği kimlik bilgileri oluşturma başlıklı makaleye göz atın.

  3. Abonelikleri listelemek için terminalinizde aşağıdaki komutu çalıştırın:

    python3 list_subscriptions.py
    

Google Workspace Etkinlikleri API, sorgunuzun filtresiyle eşleşen sayfalara ayrılmış Subscription nesne dizisi döndürür.