Bu rehberde, alandaki kaynaklarda yapılan değişiklikleri listelemek için Google Chat API'nin SpaceEvent
kaynağında list
yönteminin nasıl kullanılacağı açıklanmıştır.
SpaceEvent
kaynağı; mesajlar, tepkiler ve üyelikler gibi alanın alt kaynakları dahil olmak üzere hedef alanda yapılan bir değişikliği temsil eder. Desteklenen etkinlik türlerinin ve etkinlik yüklerinin listesi hakkında daha fazla bilgi için SpaceEvent
kaynak referans belgelerinin eventType
ve payload
alanlarını inceleyin.
Etkinlikleri, istek zamanından 28 gün öncesine kadar listeleyebilirsiniz. Sunucu etkilenen kaynağın en son sürümünü içeren etkinlikleri döndürür.
Örneğin, alan üyeleriyle ilgili etkinlikleri listelerseniz sunucu en son üyelik ayrıntılarını içeren Membership
kaynaklarını döndürür. İstenen dönemde yeni üyeler kaldırılırsa etkinlik yükü boş bir Membership
kaynağı içerir.
Bu yöntemi çağırmak için kullanıcı kimlik doğrulamasını kullanmanız gerekir. Bir alandaki etkinliklerin listelenmesi için kimliği doğrulanmış kullanıcının 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ı.
SpaceEvent
kaynaklarının listelenmesi, aşağıdaki kimlik doğrulama yöntemlerini destekler:- Kullanıcı kimlik doğrulaması: İstenen etkinlik türlerini destekleyen bir kapsam gerektirir. Bir kapsam tanımlamak için Etkinlik türüne göre kapsamlar bölümüne bakın.
Alan etkinliklerini listeleme
Bir Chat alanındaki alan etkinliklerini listelemek için aşağıdakileri yapın:
SpaceEvent
kaynağındakilist
yöntemini çağırın.filter
alanını kullanarak hangi etkinlik türlerinin listeleneceğini belirtin. En az bir etkinlik türü belirtmeniz gerekir. Ayrıca, tarihe göre de filtreleme yapabilirsiniz. Desteklenen etkinlik türlerinin listesi içineventType
alanına bakın.- Kullanıcı kimlik doğrulaması ile isteğinizdeki her etkinlik türünü desteklemek için bir veya daha fazla yetkilendirme kapsamı belirtin. En iyi uygulama olarak, uygulamanızın çalışmasına izin veren en kısıtlayıcı kapsamı seçin. Kapsam seçmek için Kimlik doğrulama ve yetkilendirmeye genel bakış sayfasını inceleyin.
Aşağıdaki kod örneğinde, bir alandaki yeni üyelikler ve mesajlarla ilgili etkinlikleri listelersiniz.
Python
- Çalışma dizininizde
chat_space_event_list.py
adında bir dosya oluşturun. chat_space_event_list.py
içine şu kodu 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)
Kodda aşağıdakileri değiştirin:
SPACE
: Chat API'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebileceğiniz bir alan adıdır.
Çalışma dizininizde örneği derleyip ç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.
Sayfalandırmayı özelleştirme
İsteğe bağlı olarak, sayfalandırmayı özelleştirmek için aşağıdaki sorgu parametrelerini iletin:
pageSize
: Döndürülecek maksimumSpaceEvent
kaynak sayısı. Hizmet bu değerden daha az sonuç döndürebilir. Negatif değerlerINVALID_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ğeri sayfa jetonunu sağlayan çağrıyla eşleşmelidir. Farklı bir değer iletme, beklenmedik sonuçlara yol açabilir.