Event

Peristiwa interaksi aplikasi Google Chat yang merepresentasikan dan berisi data tentang interaksi pengguna dengan aplikasi Chat. Untuk mengonfigurasi aplikasi Chat Anda agar menerima peristiwa interaksi, lihat Menerima dan merespons interaksi pengguna.

Selain menerima peristiwa dari interaksi pengguna, aplikasi Chat dapat menerima peristiwa tentang perubahan pada ruang, seperti saat anggota baru ditambahkan ke ruang. Untuk mempelajari peristiwa ruang, lihat Menggunakan peristiwa dari Google Chat.

Peringatan: Objek peristiwa ini hanya digunakan untuk aplikasi Chat yang bukan add-on. Jika aplikasi Chat Anda dibuat sebagai add-on Google Workspace, lihat Objek peristiwa add-on dalam dokumentasi add-on. Untuk mengonfirmasi jenis peristiwa yang diterima aplikasi Anda, lihat Menentukan jenis peristiwa.

Representasi JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Kolom
type

enum (EventType)

Jenis interaksi pengguna dengan aplikasi Chat, seperti MESSAGE atau ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Stempel waktu yang menunjukkan kapan peristiwa interaksi terjadi.

token

string

Nilai rahasia yang dapat digunakan aplikasi Chat lama untuk memverifikasi apakah permintaan berasal dari Google. Google membuat token secara acak, dan nilainya tetap statis. Anda dapat memperoleh, mencabut, atau membuat ulang token dari halaman konfigurasi Chat API di Konsol Google Cloud.

Aplikasi Chat modern tidak menggunakan kolom ini. Kunci ini tidak ada dalam respons API dan halaman konfigurasi Chat API.

threadKey

string

Kunci yang ditentukan aplikasi Chat untuk rangkaian pesan yang terkait dengan peristiwa interaksi. Lihat spaces.messages.thread.threadKey untuk mengetahui informasi selengkapnya.

message

object (Message)

Untuk peristiwa interaksi ADDED_TO_SPACE, CARD_CLICKED, dan MESSAGE, pesan yang memicu peristiwa interaksi, jika ada.

user

object (User)

Pengguna yang berinteraksi dengan aplikasi Chat.

thread

object (Thread)

Thread tempat pengguna berinteraksi dengan aplikasi Chat. Ini bisa berupa thread baru yang dibuat oleh pesan yang baru dikirim. Kolom ini diisi jika peristiwa interaksi dikaitkan dengan pesan atau rangkaian pesan tertentu.

space

object (Space)

Ruang tempat pengguna berinteraksi dengan aplikasi Chat.

action

object (FormAction)

Untuk peristiwa interaksi CARD_CLICKED, data tindakan formulir yang terkait saat pengguna mengklik kartu atau dialog. Untuk mempelajari lebih lanjut, lihat Membaca data formulir yang dimasukkan oleh pengguna di kartu.

configCompleteRedirectUrl

string

URL ini diisi untuk peristiwa interaksi MESSAGE, ADDED_TO_SPACE, dan APP_COMMAND. Setelah menyelesaikan alur otorisasi atau konfigurasi di luar Google Chat, pengguna harus dialihkan ke URL ini untuk memberi tahu Google Chat bahwa alur otorisasi atau konfigurasi berhasil. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan aplikasi Chat dengan layanan dan alat lainnya.

isDialogEvent

boolean

Untuk peristiwa interaksi CARD_CLICKED dan MESSAGE, apakah pengguna sedang berinteraksi atau akan berinteraksi dengan dialog.

dialogEventType

enum (DialogEventType)

Jenis peristiwa interaksi dialog yang diterima.

common

object (CommonEventObject)

Menampilkan informasi tentang klien pengguna, seperti lokalitas, aplikasi host, dan platform. Untuk aplikasi Chat, CommonEventObject menyertakan informasi yang dikirimkan oleh pengguna yang berinteraksi dengan dialog, seperti data yang dimasukkan di kartu.

appCommandMetadata

object (AppCommandMetadata)

Metadata tentang perintah aplikasi Chat.

CommonEventObject

Objek peristiwa umum adalah bagian dari keseluruhan objek peristiwa yang membawa informasi umum yang tidak bergantung pada host ke add-on dari klien pengguna. Informasi ini mencakup detail seperti lokalitas, aplikasi host, dan platform pengguna.

Selain pemicu halaman beranda dan kontekstual, add-on membuat dan meneruskan objek peristiwa ke fungsi callback tindakan saat pengguna berinteraksi dengan widget. Fungsi callback add-on Anda dapat mengkueri objek peristiwa umum untuk menentukan konten widget yang terbuka di klien pengguna. Misalnya, add-on Anda dapat menemukan teks yang telah dimasukkan pengguna ke widget TextInput di objek eventObject.commentEventObject.formInputs.

Untuk aplikasi Chat, nama fungsi yang dipanggil pengguna saat berinteraksi dengan widget.

Representasi JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Kolom
userLocale

string

Dinonaktifkan secara default. ID bahasa dan negara/wilayah pengguna dalam format kode bahasa ISO 639-kode negara/wilayah ISO 3166. Contoh, en-US.

Untuk mengaktifkan kolom ini, Anda harus menetapkan addOns.common.useLocaleFromApp ke true dalam manifes add-on. Daftar cakupan add-on Anda juga harus menyertakan https://www.googleapis.com/auth/script.locale. Lihat Mengakses lokalitas dan zona waktu pengguna untuk mengetahui detail selengkapnya.

hostApp

enum (HostApp)

Menunjukkan aplikasi host tempat add-on aktif saat objek peristiwa dibuat. Nilai yang memungkinkan mencakup:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

Enum platform yang menunjukkan platform tempat peristiwa berasal (WEB, IOS, atau ANDROID). Tidak didukung oleh aplikasi Chat.

timeZone

object (TimeZone)

Dinonaktifkan secara default. ID zona waktu dan selisih dari Waktu Universal Terkoordinasi (UTC). Untuk mengaktifkan kolom ini, Anda harus menetapkan addOns.common.useLocaleFromApp ke true dalam manifes add-on. Daftar cakupan add-on Anda juga harus menyertakan https://www.googleapis.com/auth/script.locale. Lihat Mengakses lokalitas dan zona waktu pengguna untuk mengetahui detail selengkapnya.

Hanya didukung untuk jenis peristiwa CARD_CLICKED dan SUBMIT_DIALOG.

formInputs

map (key: string, value: object (Inputs))

Peta yang berisi nilai saat ini dari widget di kartu yang ditampilkan. Kunci peta adalah nilai name string yang ditetapkan ke setiap widget input (seperti TextInput.name, SelectionInput.name, DateTimePicker.name, atau DecoratedText.SwitchControl.name).

Struktur objek nilai peta bergantung pada jenis widget:

Catatan: Contoh berikut diformat untuk runtime V8 Apps Script. Jika Anda menggunakan runtime Rhino, Anda harus menambahkan [""] setelah nilai. Misalnya, format objek peristiwa sebagai e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0], bukan e.commonEventObject.formInputs.employeeName.stringInputs.value[0]. Untuk mempelajari lebih lanjut runtime di Apps Script, lihat Ringkasan Runtime V8.

  • Widget bernilai tunggal (misalnya, widget TextInput, atau widget SelectionInput berjenis DROPDOWN atau RADIO_BUTTON): objek StringInputs yang berisi daftar elemen tunggal (atau daftar kosong jika tidak ada pilihan yang dibuat).

Contoh: untuk widget input teks dengan employeeName sebagai name-nya, akses nilai input teks dengan: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widget bernilai banyak (misalnya, widget SelectionInput dari jenis CHECK_BOX, SWITCH, atau MULTI_SELECT): objek StringInputs yang berisi daftar string value item yang dipilih.

Contoh: untuk widget multi-nilai dengan participants sebagai name, akses array nilai dengan: e.commonEventObject.formInputs.participants.stringInputs.value.

  • Widget DecoratedText.SwitchControl: objek StringInputs. Jika selected adalah true, stringInputs.value akan berisi kolom value tombol (atau "" jika value tidak ditentukan; jika beberapa tombol memiliki name yang sama, value setiap tombol yang dipilih akan disertakan dalam daftar). Jika selected adalah false, value tombol akan dihilangkan dari stringInputs.value.

  • Pemilih tanggal-waktu (DateTimePickerType.DATE_AND_TIME): DateTimeInput object.

Contoh: Untuk pemilih dengan name dari myDTPicker, akses objek DateTimeInput menggunakan e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

Contoh: Untuk pemilih dengan name dari myDatePicker, akses objek DateInput menggunakan e.commonEventObject.formInputs.myDatePicker.dateInput.

Contoh: Untuk pemilih dengan name dari myTimePicker, akses objek TimeInput menggunakan e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Parameter tambahan apa pun yang Anda berikan ke tindakan menggunakan actionParameters atau Action.setParameters().

Pratinjau Developer: Untuk add-on yang memperluas Google Chat, guna menyarankan item berdasarkan apa yang diketik pengguna di menu multi-pilihan, gunakan nilai kunci "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). Anda dapat menggunakan nilai ini untuk mengkueri database dan menyarankan item yang dapat dipilih kepada pengguna saat mereka mengetik. Untuk mengetahui detailnya, lihat Mengumpulkan dan memproses informasi dari pengguna Google Chat.

invokedFunction

string

Nama fungsi yang akan dipanggil.

Kolom ini tidak diisi untuk Add-on Google Workspace yang memperluas Google Chat. Sebagai gantinya, untuk menerima data fungsi seperti ID, add-on yang memperluas Chat harus menggunakan kolom parameters. Lihat Membangun antarmuka interaktif untuk aplikasi Chat.

TimeZone

ID zona waktu dan selisih dari Waktu Universal Terkoordinasi (UTC). Hanya didukung untuk jenis peristiwa CARD_CLICKED dan SUBMIT_DIALOG.

Representasi JSON
{
  "id": string,
  "offset": integer
}
Kolom
id

string

Kode database zona waktu IANA TZ, seperti "America/Toronto".

offset

integer

Offset zona waktu pengguna, dalam milidetik, dari Waktu Universal Terkoordinasi (UTC).

Input

Jenis data yang dapat dimasukkan pengguna di kartu atau dialog. Jenis input bergantung pada jenis nilai yang diterima widget.

Representasi JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Kolom
Berikut adalah daftar kolom yang sama-sama bersifat eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
stringInputs

object (StringInputs)

Daftar string yang mewakili nilai yang dimasukkan pengguna dalam widget.

Jika widget hanya menerima satu nilai, seperti widget TextInput, daftar akan berisi satu objek string. Jika widget menerima beberapa nilai, seperti widget SelectionInput kotak centang, daftar akan berisi objek string untuk setiap nilai yang dimasukkan atau dipilih pengguna.

dateTimeInput

object (DateTimeInput)

Nilai input tanggal dan waktu dari widget DateTimePicker yang menerima tanggal dan waktu.

dateInput

object (DateInput)

Nilai input tanggal dari widget DateTimePicker yang hanya menerima nilai tanggal.

timeInput

object (TimeInput)

Nilai input waktu dari widget DateTimePicker yang hanya menerima nilai waktu.

Akhir kolom yang saling eksklusif.

StringInputs

Parameter input untuk widget reguler. Untuk widget bernilai tunggal, ini adalah daftar nilai tunggal. Untuk widget multinilai, seperti kotak centang, semua nilai akan ditampilkan.

Representasi JSON
{
  "value": [
    string
  ]
}
Kolom
value[]

string

Daftar string yang dimasukkan oleh pengguna.

DateTimeInput

Nilai input tanggal dan waktu.

Representasi JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Kolom
msSinceEpoch

string (int64 format)

Waktu sejak waktu epoch, dalam milidetik.

hasDate

boolean

Apakah input datetime menyertakan tanggal kalender.

hasTime

boolean

Apakah input datetime menyertakan stempel waktu.

DateInput

Nilai input tanggal.

Representasi JSON
{
  "msSinceEpoch": string
}
Kolom
msSinceEpoch

string (int64 format)

Waktu sejak waktu epoch, dalam milidetik.

TimeInput

Nilai input waktu.

Representasi JSON
{
  "hours": integer,
  "minutes": integer
}
Kolom
hours

integer

Jam dalam format 24 jam.

minutes

integer

Jumlah menit setelah jam spesifik. Nilai yang valid adalah 0 hingga 59.

AppCommandMetadata

Metadata tentang perintah aplikasi Chat.

Representasi JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Kolom
appCommandId

integer

ID untuk perintah yang ditentukan dalam konfigurasi Chat API.

appCommandType

enum (AppCommandType)

Jenis perintah aplikasi Chat.