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:
SpaceEvent
kaynağındakiget
yöntemini çağırın.- Almak için
SpaceEvent
name
hattını geçin. Google Chat'inSpaceEvent
kaynağındanSpaceEvent
adını alın. - Kullanıcı kimlik doğrulaması ile isteğinizdeki etkinlik türünü destekleyen bir yetkilendirme kapsamı belirtin. En iyi uygulama olarak uygulamanızın çalışmasına izin veren en kısıtlayıcı kapsamı seçin.
Kullanıcı kimlik doğrulaması özellikli bir SpaceEvent
almak için şunları yapın:
Python
- Çalışma dizininizde
chat_space_event_get.py
adında bir dosya oluşturun. 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)
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ızhttps://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'dekispaces.list
yönteminden veya bir alanın URL'sinden edinebileceğiniz alan adıdır.SPACE_EVENT
: Boşluk etkinliğinin adı. Bu bilgiyispaces.spaceEvents.list
yönteminden edinebilirsiniz.
Ç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.