Google Chat alanı etkinliğiyle ilgili ayrıntıları alma

Bu rehberde, Google Chat alanından bir etkinlikle ilgili ayrıntıları almak için Google Chat API'nin SpaceEvent kaynağında bulunan get yönteminin nasıl kullanılacağı açıklanmaktadır.

SpaceEvent kaynağı, bir alanda veya alanın alt kaynaklarında (ör. mesajlar, tepkiler ve üyelikler) yapılan bir değişikliği temsil eder. Desteklenen etkinlik türleri hakkında bilgi edinmek için SpaceEvent kaynak referans belgelerindeki eventType alanına bakın.

İstek zamanından 28 gün öncesine kadar etkinlik isteğinde bulunabilirsiniz. Etkinlik, değiştirilen kaynağın en son sürümünü içerir. Örneğin, yeni bir mesajla ilgili bir etkinlik isteğinde bulunursanız ancak mesaj daha sonra güncellenirse sunucu, etkinlik yükündeki güncellenmiş Message kaynağını döndürür.

Bu yöntemi çağırmak için kullanıcı kimlik doğrulamasını kullanmanız gerekir. Bir etkinliği almak için kimliği doğrulanmış kullanıcının, etkinliğin gerçekleştiği alanın üyesi olması gerekir.

Ön koşullar

Python

  • Python 3.6 veya sonraki sürümler
  • pip paket yönetimi 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 aşağıdaki komutu çalıştırın:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Google Chat API'nin etkin ve yapılandırılmış olduğu bir Google Cloud projesi. Adımlar için Google Chat uygulaması oluşturma başlıklı makaleye göz atın.
  • Yetkilendirme, Chat uygulaması için yapılandırıldı. Alan etkinliği almak için etkinlik türünü destekleyen bir kapsama sahip kullanıcı kimlik doğrulaması gerekir. Kapsam seçmek için Kimlik doğrulama ve yetkilendirmeye genel bakış sayfasını inceleyin.

Bir alan etkinliğiyle ilgili ayrıntıları alma

Google Chat'te bir SpaceEvent ile ilgili ayrıntıları öğrenmek için aşağıdakileri yapın:

Kullanıcı kimlik doğrulaması özellikli bir SpaceEvent almak için şunları yapın:

Python

  1. Çalışma dizininizde chat_space_event_get.py adında bir dosya oluşturun.
  2. chat_space_event_get.py içine şu kodu ekleyin:

    """Gets a SpaceEvent resource 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 = ['SCOPE']
    
    # 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()
        .get(
            # The space event to get.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. Kodda aşağıdakileri değiştirin:

    • SCOPE: Etkinlik türüne dayalı bir yetkilendirme kapsamı. Örneğin, yeni bir üyelikle ilgili bir alan etkinliği alıyorsanız https://www.googleapis.com/auth/chat.memberships.readonly olarak biçimlendirilmiş chat.memberships.readonly kapsamını kullanın. Etkinlik türünü spaces.spaceEvents.list yönteminden edinebilirsiniz. Bu yöntemi nasıl kullanacağınızı öğrenmek için Bir alandaki etkinlikleri listeleme bölümünü inceleyin.
    • SPACE: Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden edinebileceğiniz alan adıdır.
    • SPACE_EVENT: Boşluk etkinliğinin adı. Bu bilgiyi spaces.spaceEvents.list yönteminden edinebilirsiniz.
  4. Çalışma dizininizde örneği derleyip çalıştırın:

    python3 chat_space_event_get.py
    

Chat API, etkinlikle ilgili ayrıntıları içeren bir SpaceEvent örneği döndürür.