Event

Một sự kiện tương tác của ứng dụng Google Chat, thể hiện và chứa dữ liệu về hoạt động tương tác của người dùng với một ứng dụng Chat. Để định cấu hình ứng dụng Chat nhận các sự kiện tương tác, hãy xem phần 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 các 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 các sự kiện về những 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.

Lưu ý: Sự kiện này chỉ được dùng cho Sự kiện tương tác qua Chat. Nếu ứng dụng Chat của bạn được tạo dưới dạng tiện ích bổ sung của Google Workspace, hãy xem Các đối tượng sự kiện Chat trong tài liệu về tiện ích bổ sung.

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 hoạt động 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 yêu cầu có phải đến từ 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 vẫn giữ nguyên. 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 Chat API trong Google Cloud Console.

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

threadKey

string

Khoá do ứng dụng Chat xác định cho luồng 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_CLICKEDMESSAGE, 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 mà người dùng đã tương tác với ứng dụng Chat. Chuỗi này có thể là một chuỗi mới do một tin nhắn mới gửi tạo ra. 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 thông báo hoặc chuỗi tin nhắn cụ thể.

space

object (Space)

Không gian mà 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 thao tác 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 phần Đọ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_SPACEAPP_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 hiệu cho Google Chat 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_CLICKEDMESSAGE, cho biết người dùng có đang tương tác với 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 được.

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 các ứ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à 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 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ữ của người dùng, ứng dụng lưu trữ và nền tảng.

Ngoài trang chủ và các điều kiện kích hoạt theo ngữ cảnh, các tiện ích bổ sung sẽ tạo và truyền các đối tượng sự kiện đến các hàm gọi lại hành động khi người dùng tương tác với các tiện ích. Hàm gọi lại của tiện ích bổ sung có thể truy vấn đối tượng sự kiện chung để 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ể xác định vị trí 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, đây là 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.

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). Không được các ứng dụng Chat hỗ trợ.

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.

Chỉ được hỗ trợ cho các loại sự kiện CARD_CLICKEDSUBMIT_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ẻ được hiển thị. Khoá bản đồ là mã nhận dạng chuỗi được chỉ định cho mỗi tiện ích.

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 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 dưới dạng e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. Để tìm hiểu thêm về thời gian chạy trong Apps Script, hãy xem phần Tổng quan về thời gian chạy V8.

  • Tiện ích có một giá trị (ví dụ: hộp văn bản): một danh sách các chuỗi (chỉ có một phần tử).

Ví dụ: đối với một tiện ích nhập văn bản có employeeName làm mã nhận dạng, 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 có nhiều giá trị (ví dụ: nhóm hộp đánh dấu): danh sách các chuỗi.

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

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

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

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

parameters

map (key: string, value: string)

Mọi thông số bổ sung mà bạn cung cấp cho một thao tác bằng cách sử dụng actionParameters hoặc Action.setParameters().

Bản dùng thử 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, 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 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ư mã 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 Tạo 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_CLICKEDSUBMIT_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 trên 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
{

  // Union field inputs can be only one of the following:
  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
  // End of list of possible types for union field inputs.
}
Trường

Trường nhóm inputs.

inputs chỉ có thể là một trong những trạng thái sau:

stringInputs

object (StringInputs)

Một danh sách các chuỗi đại diện cho các 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 gồm các 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ị đầu vào 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ị đầu vào ngày từ một tiện ích DateTimePicker chỉ chấp nhận các giá trị ngày.

timeInput

object (TimeInput)

Giá trị đầu vào về thời gian từ một tiện ích DateTimePicker chỉ chấp nhận các giá trị thời gian.

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 có 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ị đầu vào 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 đầu vào datetime có bao gồm ngày trên lịch hay không.

hasTime

boolean

Liệu đầu vào datetime có chứa dấu thời gian hay không.

DateInput

Giá trị đầu vào ngày.

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ị đầu vào về thời gian.

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

integer

Giờ theo đồng hồ 24 giờ.

minutes

integer

Số phút đã trôi qua trong giờ. Các giá trị hợp lệ là từ 0 đến 59.

AppCommandMetadata

Siêu dữ liệu về một 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ã nhận dạng của lệnh được chỉ định trong cấu hình Chat API.

appCommandType

enum (AppCommandType)

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