Bir Google Chat alanındaki etkinlikleri listeleme

Bu kılavuzda, bir alandaki kaynaklarda yapılan değişiklikleri listelemek için Google Chat API'nin SpaceEvent kaynağındaki list yönteminin nasıl kullanılacağı açıklanmaktadır.

SpaceEvent kaynağı Alanın alt kaynakları da dahil olmak üzere hedef alanda yapılan bir değişikliği temsil eder önemli metrikler yer alır. Daha fazla bilgi için Desteklenen etkinlik türlerinin ve etkinlik yüklerinin listesini görmek için eventType ve SpaceEvent kaynağının payload alanı referans belgeler.

İstek zamanından en fazla 28 gün öncesine kadar olan etkinlikleri listeleyebilirsiniz. Sunucu, etkilenen kaynağın en son sürümünü içeren etkinlikleri döndürür. Örneğin, yeni alan üyeleriyle ilgili etkinlikleri listelerseniz sunucu, en son üyelik ayrıntılarını içeren Membership kaynaklarını döndürür. Yeni ise talep edilen dönemde üyeler kaldırıldıysa etkinlik yükü bir boş Membership kaynağı.

Bu yöntemi çağırmak için user kimlik doğrulama. Kime bir alana ait etkinlik görüntüleme işlemi için, kimliği doğrulanan kullanıcı alanın bir üyesi olmalıdır.

Ön koşullar

Python

Alan etkinliklerini listeleme

Bir Chat alanındaki alan etkinliklerini listelemek için aşağıdakileri yapın:

Aşağıdaki kod örneğinde, bir alandaki yeni üyelikler ve mesajlarla ilgili etkinlikler listelenmektedir.

Python

  1. Çalışma dizininizde chat_space_event_list.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_space_event_list.py bölümüne ekleyin:

    """Lists SpaceEvent resources from the Chat API."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file(
                'client_secrets.json', SCOPES)
    creds = flow.run_local_server()
    
    # Build a service endpoint for Chat API.
    chat = build(
      'chat',
      'v1',
      credentials=creds,
    )
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. Kodda aşağıdakileri değiştirin:

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_space_event_list.py

Chat API, yeni üyelikler ve mesajlarla ilgili SpaceEvent kaynak etkinliklerinin listesini döndürür.

Sayfalara ayırma işlemini özelleştirme

Dilerseniz sayfalandırmayı özelleştirmek için aşağıdaki sorgu parametrelerini iletin:

  • pageSize: Döndürülecek maksimum SpaceEvent kaynak sayısı. Hizmet bu değerden daha az sonuç döndürebilir. Negatif değerler INVALID_ARGUMENT hatası döndürür.
  • pageToken: Önceki bir liste alanı etkinlikleri çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bu jetonu sağlayın. Sayfalara ayırırken filtre değerinin, sayfa jetonunu sağlayan çağrıyla eşleşmesi gerekir. Farklı bir değer göndermek beklenmedik sonuçlara yol açabilir.