Event

Sự kiện tương tác với ứng dụng Google Chat đại diện và chứa dữ liệu về hoạt động tương tác của người dùng với ứng dụng Chat. Để định cấu hình ứng dụng Chat nhằm nhận sự kiện tương tác, hãy xem bài viết Nhận và phản hồi hoạt động tương tác của người dùng.

Ngoài việc nhận sự kiện từ hoạt động tương tác của người dùng, ứng dụng Chat còn có thể nhận sự kiện về các thay đổi đối với không gian, chẳng hạn như khi một thành viên mới được thêm vào không gian. Để tìm hiểu về sự kiện trong không gian, hãy xem bài viết Làm việc với sự kiện trong Google Chat.

Cảnh báo: Đối tượng sự kiện này chỉ được dùng cho các ứng dụng Chat không phải là tiện ích bổ sung. Nếu ứng dụng Chat của bạn được xây dựng dưới dạng một tiện ích bổ sung của Google Workspace, hãy xem phần Đối tượng sự kiện của tiện ích bổ sung trong tài liệu về tiện ích bổ sung. Để xác nhận loại sự kiện mà ứng dụng của bạn nhận được, hãy xem phần Xác định loại sự kiện.

Biểu diễn dưới dạng 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)
  }
}
Trường
type

enum (EventType)

Loại tương tác của người dùng với ứng dụng Chat, chẳng hạn như MESSAGE hoặc ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Dấu thời gian cho biết thời điểm xảy ra sự kiện tương tác.

token

string

Một giá trị bí mật mà các ứng dụng Chat cũ có thể dùng để xác minh xem một yêu cầu có phải là của Google hay không. Google tạo mã thông báo một cách ngẫu nhiên và giá trị của mã thông báo này không thay đổi. Bạn có thể lấy, thu hồi hoặc tạo lại mã thông báo trên trang cấu hình API Chat trong Google Cloud Console.

Các ứng dụng Chat hiện đại không sử dụng trường này. Thông tin này không có trong các phản hồi của API và trang cấu hình API Chat.

threadKey

string

Khoá do ứng dụng Chat xác định cho chuỗi tin nhắn liên quan đến sự kiện tương tác. Xem spaces.messages.thread.threadKey để biết thêm thông tin.

message

object (Message)

Đối với các sự kiện tương tác ADDED_TO_SPACE, CARD_CLICKED và MESSAGE, thông báo đã kích hoạt sự kiện tương tác (nếu có).

user

object (User)

Người dùng đã tương tác với ứng dụng Chat.

thread

object (Thread)

Chuỗi tin nhắn mà người dùng đã tương tác với ứng dụng Chat. Đây có thể là một chuỗi tin nhắn mới được tạo bằng một tin nhắn mới gửi. Trường này được điền sẵn nếu sự kiện tương tác được liên kết với một tin nhắn hoặc chuỗi tin nhắn cụ thể.

space

object (Space)

Không gian nơi người dùng tương tác với ứng dụng Chat.

action

object (FormAction)

Đối với các sự kiện tương tác CARD_CLICKED, dữ liệu hành động của biểu mẫu được liên kết khi người dùng nhấp vào một thẻ hoặc hộp thoại. Để tìm hiểu thêm, hãy xem bài viết Đọc dữ liệu biểu mẫu do người dùng nhập trên thẻ.

configCompleteRedirectUrl

string

URL này được điền sẵn cho các sự kiện tương tác MESSAGE, ADDED_TO_SPACE và APP_COMMAND. Sau khi hoàn tất quy trình uỷ quyền hoặc định cấu hình bên ngoài Google Chat, người dùng phải được chuyển hướng đến URL này để báo cho Google Chat biết rằng quy trình uỷ quyền hoặc định cấu hình đã thành công. Để biết thêm thông tin, hãy xem bài viết Kết nối ứng dụng Chat với các dịch vụ và công cụ khác.

isDialogEvent

boolean

Đối với các sự kiện tương tác CARD_CLICKED và MESSAGE, cho biết liệu người dùng có đang tương tác hoặc sắp tương tác với một hộp thoại hay không.

dialogEventType

enum (DialogEventType)

Loại sự kiện tương tác hộp thoại đã nhận.

common

object (CommonEventObject)

Biểu thị thông tin về ứng dụng khách của người dùng, chẳng hạn như ngôn ngữ, ứng dụng lưu trữ và nền tảng. Đối với ứng dụng Chat, CommonEventObject bao gồm thông tin do người dùng gửi khi tương tác với hộp thoại, chẳng hạn như dữ liệu được nhập trên thẻ.

appCommandMetadata

object (AppCommandMetadata)

Siêu dữ liệu về một lệnh của ứng dụng Chat.

CommonEventObject

Đối tượng sự kiện chung là một phần của đối tượng sự kiện tổng thể, mang thông tin chung, độc lập với máy chủ lưu trữ đến tiện ích bổ sung từ ứng dụng khách của người dùng. Thông tin này bao gồm các thông tin chi tiết như ngôn ngữ, ứng dụng lưu trữ và nền tảng của người dùng.

Ngoài trang chủ và trình kích hoạt theo bối cảnh, tiện ích bổ sung còn tạo và truyền đối tượng sự kiện đến hàm callback khi người dùng tương tác với tiện ích. Hàm callback của tiện ích bổ sung có thể truy vấn đối tượng sự kiện phổ biến để xác định nội dung của các tiện ích đang mở trong ứng dụng của người dùng. Ví dụ: tiện ích bổ sung của bạn có thể tìm thấy văn bản mà người dùng đã nhập vào tiện ích TextInput trong đối tượng eventObject.commentEventObject.formInputs.

Đối với ứng dụng Chat, tên của hàm mà người dùng gọi khi tương tác với một tiện ích.

Biểu diễn dưới dạng JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Trường
userLocale

string

Tắt theo mặc định. Giá trị nhận dạng ngôn ngữ và quốc gia/khu vực của người dùng theo định dạng mã ngôn ngữ ISO 639-mã quốc gia/khu vực ISO 3166. Ví dụ: en-US.

Để bật trường này, bạn phải đặt addOns.common.useLocaleFromApp thành true trong tệp kê khai của tiện ích bổ sung. Danh sách phạm vi của tiện ích bổ sung cũng phải bao gồm https://www.googleapis.com/auth/script.locale. Hãy xem phần Truy cập vào ngôn ngữ và múi giờ của người dùng để biết thêm thông tin chi tiết.

hostApp

enum (HostApp)

Cho biết ứng dụng lưu trữ mà tiện ích bổ sung đang hoạt động khi đối tượng sự kiện được tạo. Các giá trị có thể bao gồm:

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

enum (Platform)

Enum nền tảng cho biết nền tảng nơi sự kiện bắt nguồn (WEB, IOS hoặc ANDROID). Các ứng dụng Chat không hỗ trợ enum này.

timeZone

object (TimeZone)

Tắt theo mặc định. Mã múi giờ và độ lệch so với Giờ phối hợp quốc tế (UTC). Để bật trường này, bạn phải đặt addOns.common.useLocaleFromApp thành true trong tệp kê khai của tiện ích bổ sung. Danh sách phạm vi của tiện ích bổ sung cũng phải bao gồm https://www.googleapis.com/auth/script.locale. Hãy xem phần Truy cập vào ngôn ngữ và múi giờ của người dùng để biết thêm thông tin chi tiết.

Chỉ được hỗ trợ cho các loại sự kiện CARD_CLICKED và SUBMIT_DIALOG.

formInputs

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

Một bản đồ chứa các giá trị hiện tại của các tiện ích trong thẻ hiển thị. Khoá bản đồ là các giá trị chuỗi name được chỉ định cho từng tiện ích đầu vào (chẳng hạn như TextInput.name, SelectionInput.name, DateTimePicker.name hoặc DecoratedText.SwitchControl.name).

Cấu trúc của đối tượng giá trị bản đồ phụ thuộc vào loại tiện ích:

Lưu ý: Các ví dụ sau đây được định dạng cho môi trường thời gian chạy V8 của Apps Script. Nếu đang sử dụng thời gian chạy Rhino, bạn phải thêm [""] sau giá trị. Ví dụ: thay vì e.commonEventObject.formInputs.employeeName.stringInputs.value[0], hãy định dạng đối tượng sự kiện thành e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. Để tìm hiểu thêm về môi trường thời gian chạy trong Apps Script, hãy xem bài viết Tổng quan về môi trường thời gian chạy V8.

  • Tiện ích có một giá trị (ví dụ: tiện ích TextInput hoặc tiện ích SelectionInput thuộc loại DROPDOWN hoặc RADIO_BUTTON): đối tượng StringInputs chứa danh sách có một phần tử (hoặc danh sách trống nếu không có lựa chọn nào).

Ví dụ: đối với tiện ích nhập văn bản có employeeName là name, hãy truy cập vào giá trị nhập văn bản bằng: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Tiện ích nhiều giá trị (ví dụ: tiện ích SelectionInput thuộc loại CHECK_BOX, SWITCH hoặc MULTI_SELECT): đối tượng StringInputs chứa danh sách các chuỗi value của mục đã chọn.

Ví dụ: đối với một tiện ích nhiều giá trị có participants là name, hãy truy cập vào mảng giá trị bằng: e.commonEventObject.formInputs.participants.stringInputs.value.

  • Tiện ích DecoratedText.SwitchControl: đối tượng StringInputs. Khi selected là true, stringInputs.value chứa trường value của nút chuyển (hoặc "" nếu value không được chỉ định; nếu nhiều nút chuyển có cùng name, thì value của mỗi nút chuyển đã chọn sẽ được đưa vào danh sách). Khi selected là false, value của nút chuyển sẽ bị bỏ qua khỏi stringInputs.value.

  • Bộ chọn ngày giờ (DateTimePickerType.DATE_AND_TIME): DateTimeInput object.

Ví dụ: Đối với bộ chọn có name là myDTPicker, hãy truy cập vào đối tượng DateTimeInput bằng e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

Ví dụ: Đối với bộ chọn có name là myDatePicker, hãy truy cập vào đối tượng DateInput bằng e.commonEventObject.formInputs.myDatePicker.dateInput.

  • Bộ chọn chỉ thời gian (DateTimePickerType.TIME_ONLY): TimeInput object.

Ví dụ: Đối với bộ chọn có name là myTimePicker, hãy truy cập vào đối tượng TimeInput bằng e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Bất kỳ tham số bổ sung nào bạn cung cấp cho một hành động bằng cách sử dụng actionParameters hoặc Action.setParameters().

Bản dùng trước cho nhà phát triển: Đối với tiện ích bổ sung mở rộng Google Chat, để đề xuất các mục dựa trên nội dung người dùng nhập vào trình đơn chọn nhiều mục, hãy sử dụng giá trị của khoá "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). Bạn có thể sử dụng giá trị này để truy vấn cơ sở dữ liệu và đề xuất các mục có thể chọn cho người dùng khi họ nhập. Để biết thông tin chi tiết, hãy xem bài viết Thu thập và xử lý thông tin của người dùng Google Chat.

invokedFunction

string

Tên của hàm cần gọi.

Trường này không điền sẵn cho các Tiện ích bổ sung của Google Workspace mở rộng Google Chat. Thay vào đó, để nhận dữ liệu hàm như giá trị nhận dạng, các tiện ích bổ sung mở rộng Chat nên sử dụng trường parameters. Xem bài viết Xây dựng giao diện tương tác cho ứng dụng Chat.

TimeZone

Mã múi giờ và độ lệch so với Giờ phối hợp quốc tế (UTC). Chỉ được hỗ trợ cho các loại sự kiện CARD_CLICKED và SUBMIT_DIALOG.

Biểu diễn dưới dạng JSON
{
  "id": string,
  "offset": integer
}
Trường
id

string

Mã cơ sở dữ liệu múi giờ IANA TZ, chẳng hạn như "America/Toronto".

offset

integer

Độ lệch múi giờ của người dùng, tính bằng mili giây, so với Giờ phối hợp quốc tế (UTC).

Thông tin đầu vào

Các loại dữ liệu mà người dùng có thể nhập vào thẻ hoặc hộp thoại. Loại dữ liệu đầu vào phụ thuộc vào loại giá trị mà tiện ích chấp nhận.

Biểu diễn dưới dạng JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Trường
Sau đây là danh sách các trường loại trừ lẫn nhau. Tối đa một trong các trường sẽ được đặt trong phản hồi:
stringInputs

object (StringInputs)

Danh sách các chuỗi đại diện cho giá trị mà người dùng nhập vào một tiện ích.

Nếu tiện ích chỉ chấp nhận một giá trị, chẳng hạn như tiện ích TextInput, thì danh sách sẽ chứa một đối tượng chuỗi. Nếu tiện ích chấp nhận nhiều giá trị, chẳng hạn như tiện ích SelectionInput của hộp đánh dấu, thì danh sách sẽ chứa một đối tượng chuỗi cho mỗi giá trị mà người dùng nhập hoặc chọn.

dateTimeInput

object (DateTimeInput)

Giá trị nhập ngày và giờ từ một tiện ích DateTimePicker chấp nhận cả ngày và giờ.

dateInput

object (DateInput)

Giá trị nhập ngày từ tiện ích DateTimePicker chỉ chấp nhận giá trị ngày.

timeInput

object (TimeInput)

Giá trị nhập thời gian từ một tiện ích DateTimePicker chỉ chấp nhận giá trị thời gian.

Kết thúc các trường loại trừ lẫn nhau.

StringInputs

Tham số đầu vào cho các tiện ích thông thường. Đối với các tiện ích có một giá trị, đây là danh sách một giá trị. Đối với các tiện ích có nhiều giá trị, chẳng hạn như hộp đánh dấu, tất cả các giá trị đều được trình bày.

Biểu diễn dưới dạng JSON
{
  "value": [
    string
  ]
}
Trường
value[]

string

Danh sách các chuỗi do người dùng nhập.

DateTimeInput

Giá trị nhập ngày và giờ.

Biểu diễn dưới dạng JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Trường
msSinceEpoch

string (int64 format)

Thời gian kể từ thời gian bắt đầu của hệ thống, tính bằng mili giây.

hasDate

boolean

Liệu dữ liệu đầu vào datetime có bao gồm ngày theo lịch hay không.

hasTime

boolean

Liệu dữ liệu đầu vào datetime có bao gồm dấu thời gian hay không.

DateInput

Giá trị ngày nhập.

Biểu diễn dưới dạng JSON
{
  "msSinceEpoch": string
}
Trường
msSinceEpoch

string (int64 format)

Thời gian kể từ thời gian bắt đầu của hệ thống, tính bằng mili giây.

TimeInput

Giá trị thời gian đầu vào.

Biểu diễn dưới dạng JSON
{
  "hours": integer,
  "minutes": integer
}
Trường
hours

integer

Giờ trên đồng hồ 24 giờ.

minutes

integer

Số phút sau giờ. Giá trị hợp lệ là từ 0 đến 59.

AppCommandMetadata

Siêu dữ liệu về lệnh của ứng dụng Chat.

Biểu diễn dưới dạng JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Trường
appCommandId

integer

Mã của lệnh được chỉ định trong cấu hình API Chat.

appCommandType

enum (AppCommandType)

Loại lệnh của ứng dụng Chat.