Panduan ini menjelaskan cara menggunakan
metode get
pada
resource SpaceEvent
Google Chat API untuk mendapatkan detail tentang peristiwa dari ruang Google Chat.
Resource SpaceEvent
mewakili perubahan pada ruang atau resource
turunannya, seperti pesan, reaksi, dan keanggotaan. Untuk mempelajari jenis peristiwa yang didukung, lihat kolom eventType
dalam dokumentasi referensi resource SpaceEvent
.
Anda dapat meminta peristiwa hingga 28 hari sebelum waktu permintaan. Peristiwa ini
berisi versi terbaru dari resource yang berubah. Misalnya, jika Anda meminta peristiwa tentang pesan baru, tetapi pesan tersebut kemudian diupdate, server akan menampilkan resource Message
yang diperbarui dalam payload peristiwa.
Untuk memanggil metode ini, Anda harus menggunakan autentikasi pengguna. Untuk mendapatkan peristiwa, pengguna yang diautentikasi harus menjadi anggota ruang tempat peristiwa tersebut terjadi.
Prasyarat
Python
- Python 3.6 atau yang lebih baru
- Alat pengelolaan paket pip
Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdatenya, jalankan perintah berikut di antarmuka command line Anda:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Mem-build aplikasi Google Chat.
Otorisasi dikonfigurasi untuk aplikasi Chat. Untuk mendapatkan peristiwa ruang, diperlukan autentikasi pengguna dengan cakupan yang mendukung jenis peristiwa tersebut. Untuk memilih cakupan, lihat Ringkasan autentikasi dan otorisasi.
Mendapatkan detail tentang acara ruang angkasa
Untuk mendapatkan detail tentang SpaceEvent
di Google Chat, lakukan hal berikut:
- Panggil metode
get
pada resourceSpaceEvent
. - Teruskan
name
dariSpaceEvent
untuk mendapatkannya. Dapatkan namaSpaceEvent
dari resourceSpaceEvent
Google Chat. - Dengan autentikasi pengguna, tentukan cakupan otorisasi yang mendukung jenis peristiwa dalam permintaan Anda. Sebagai praktik terbaik, pilih cakupan yang paling ketat yang masih memungkinkan aplikasi Anda berfungsi.
Berikut cara mendapatkan SpaceEvent
dengan autentikasi pengguna:
Python
- Di direktori kerja Anda, buat file bernama
chat_space_event_get.py
. Sertakan kode berikut di
chat_space_event_get.py
:"""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)
Dalam kode, ganti kode berikut:
SCOPE
: Cakupan otorisasi berdasarkan jenis peristiwa. Misalnya, jika Anda mendapatkan peristiwa ruang terkait keanggotaan baru, gunakan cakupanchat.memberships.readonly
, dengan formathttps://www.googleapis.com/auth/chat.memberships.readonly
. Anda bisa mendapatkan jenis peristiwa dari metodespaces.spaceEvents.list
. Untuk mempelajari cara menggunakan metode ini, lihat Mencantumkan peristiwa dari ruang.SPACE
: Nama ruang, yang dapat Anda peroleh dari metodespaces.list
di Chat API, atau dari URL ruang.SPACE_EVENT
: Nama peristiwa ruang, yang dapat Anda peroleh dari metodespaces.spaceEvents.list
.
Di direktori kerja Anda, buat dan jalankan contoh:
python3 chat_space_event_get.py
Chat API menampilkan instance SpaceEvent
berisi detail peristiwa.