Mencantumkan peristiwa dari ruang Google Chat

Panduan ini menjelaskan cara menggunakan metode list pada resource SpaceEvent Google Chat API untuk mencantumkan perubahan pada resource dalam ruang.

Resource SpaceEvent mewakili perubahan pada ruang target, termasuk resource turunan ruang seperti pesan, reaksi, dan keanggotaan. Untuk mengetahui informasi selengkapnya tentang daftar jenis peristiwa dan payload peristiwa yang didukung, lihat kolom eventType dan payload dalam dokumentasi referensi resource SpaceEvent.

Anda dapat mencantumkan peristiwa hingga 28 hari sebelum waktu permintaan. Server menampilkan peristiwa yang berisi versi terbaru dari resource yang terpengaruh. Misalnya, jika Anda mencantumkan peristiwa tentang anggota ruang baru, server akan menampilkan resource Membership yang berisi detail keanggotaan terbaru. Jika anggota baru dihapus selama periode yang diminta, payload peristiwa akan berisi resource Membership yang kosong.

Untuk memanggil metode ini, Anda harus menggunakan autentikasi pengguna. Untuk menampilkan daftar peristiwa dari ruang, pengguna yang diautentikasi harus menjadi anggota ruang tersebut.

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. Mencantumkan resource SpaceEvent mendukung metode autentikasi berikut:

Membuat daftar peristiwa ruang

Untuk mencantumkan peristiwa ruang dari ruang Chat, lakukan hal berikut:

  • Panggil metode list pada resource SpaceEvent.
  • Tentukan jenis peristiwa yang akan dicantumkan menggunakan kolom filter. Anda harus menentukan setidaknya satu jenis peristiwa, dan Anda juga dapat memfilter menurut tanggal. Untuk daftar jenis peristiwa yang didukung, lihat kolom eventType.
  • Dengan autentikasi pengguna, tentukan satu atau beberapa cakupan otorisasi untuk mendukung setiap jenis peristiwa dalam permintaan Anda. Sebagai praktik terbaik, pilih cakupan yang paling ketat yang masih memungkinkan aplikasi Anda berfungsi. Untuk memilih cakupan, lihat Ringkasan autentikasi dan otorisasi.

Dalam contoh kode berikut, Anda akan mencantumkan peristiwa tentang keanggotaan dan pesan baru dalam ruang.

Python

  1. Di direktori kerja Anda, buat file bernama chat_space_event_list.py.
  2. Sertakan kode berikut di chat_space_event_list.py:

    """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. Dalam kode, ganti kode berikut:

    • SPACE: nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.
  4. Di direktori kerja Anda, buat dan jalankan contoh:

    python3 chat_space_event_list.py
    

Chat API menampilkan daftar peristiwa resource SpaceEvent tentang keanggotaan dan pesan baru.

Sesuaikan penomoran halaman

Secara opsional, teruskan parameter kueri berikut untuk menyesuaikan penomoran halaman:

  • pageSize: Jumlah maksimum resource SpaceEvent untuk ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Nilai negatif akan menampilkan error INVALID_ARGUMENT.
  • pageToken: Token halaman, diterima dari panggilan peristiwa ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman berikutnya. Saat melakukan penomoran halaman, nilai filter harus cocok dengan panggilan yang menyediakan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak diharapkan.