Event

เหตุการณ์การโต้ตอบของแอป Google Chat ที่แสดงและมีข้อมูลเกี่ยวกับการโต้ตอบของผู้ใช้กับแอป Chat หากต้องการกําหนดค่าแอป Chat ให้รับเหตุการณ์การโต้ตอบ โปรดดูรับและตอบสนองต่อการโต้ตอบของผู้ใช้

นอกจากจะรับเหตุการณ์จากการโต้ตอบของผู้ใช้แล้ว แอป Chat ยังรับเหตุการณ์เกี่ยวกับการเปลี่ยนแปลงพื้นที่ทำงานได้ด้วย เช่น เมื่อมีการเพิ่มสมาชิกใหม่ลงในพื้นที่ทำงาน ดูข้อมูลเกี่ยวกับกิจกรรมในพื้นที่ทำงานได้ที่หัวข้อทำงานกับกิจกรรมจาก Google Chat

หมายเหตุ: เหตุการณ์นี้ใช้สำหรับเหตุการณ์การโต้ตอบในแชทเท่านั้น หากแอป Chat สร้างขึ้นเป็นส่วนเสริม Google Workspace โปรดดูออบเจ็กต์เหตุการณ์ Chat ในเอกสารประกอบของส่วนเสริม

การแสดง 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)
  }
}
ช่อง
type

enum (EventType)

ประเภทการโต้ตอบของผู้ใช้กับแอป Chat เช่น MESSAGE หรือ ADDED_TO_SPACE

eventTime

string (Timestamp format)

การประทับเวลาที่ระบุเวลาที่เกิดเหตุการณ์การโต้ตอบ

token

string

ค่าลับที่แอป Chat เวอร์ชันเดิมใช้เพื่อยืนยันว่าคำขอมาจาก Google หรือไม่ Google จะสร้างโทเค็นแบบสุ่มและค่าของโทเค็นจะยังคงเหมือนเดิม คุณสามารถขอ รับเพิกถอน หรือสร้างโทเค็นใหม่ได้จากหน้าการกำหนดค่า Chat API ใน Google Cloud Console

แอปแชทสมัยใหม่ไม่ได้ใช้ฟิลด์นี้ โดยจะไม่มีในคำตอบของ API และหน้าการกำหนดค่า Chat API

threadKey

string

คีย์ที่แอป Chat กําหนดสําหรับเธรดที่เกี่ยวข้องกับเหตุการณ์การโต้ตอบ ดูข้อมูลเพิ่มเติมได้ที่ spaces.messages.thread.threadKey

message

object (Message)

สําหรับเหตุการณ์การโต้ตอบ ADDED_TO_SPACE, CARD_CLICKED และ MESSAGE ข้อความที่ทําให้เกิดเหตุการณ์การโต้ตอบ (หากมี)

user

object (User)

ผู้ใช้ที่โต้ตอบกับแอป Chat

thread

object (Thread)

ชุดข้อความที่ผู้ใช้โต้ตอบกับแอป Chat ซึ่งอาจอยู่ในชุดข้อความใหม่ที่สร้างขึ้นจากข้อความที่ส่งใหม่ ระบบจะระบุค่าในช่องนี้หากเหตุการณ์การโต้ตอบเชื่อมโยงกับข้อความหรือชุดข้อความที่เฉพาะเจาะจง

space

object (Space)

พื้นที่ที่ผู้ใช้โต้ตอบกับแอป Chat

action

object (FormAction)

สําหรับCARD_CLICKEDเหตุการณ์การโต้ตอบ ข้อมูลการกระทําของแบบฟอร์มจะเชื่อมโยงเมื่อผู้ใช้คลิกการ์ดหรือกล่องโต้ตอบ ดูข้อมูลเพิ่มเติมได้ที่อ่านข้อมูลแบบฟอร์มที่ผู้ใช้ป้อนในบัตร

configCompleteRedirectUrl

string

ระบบจะป้อนข้อมูล URL นี้สำหรับเหตุการณ์การโต้ตอบ MESSAGE, ADDED_TO_SPACE และ APP_COMMAND หลังจากทำขั้นตอนการให้สิทธิ์หรือการกำหนดค่าภายนอก Google Chat เสร็จแล้ว ระบบจะต้องเปลี่ยนเส้นทางผู้ใช้ไปยัง URL นี้เพื่อส่งสัญญาณให้ Google Chat ทราบว่าขั้นตอนการให้สิทธิ์หรือการกำหนดค่าสำเร็จแล้ว ดูข้อมูลเพิ่มเติมได้ที่หัวข้อเชื่อมต่อแอป Chat กับบริการและเครื่องมืออื่นๆ

isDialogEvent

boolean

สําหรับเหตุการณ์การโต้ตอบ CARD_CLICKED และ MESSAGE ไม่ว่าผู้ใช้จะโต้ตอบหรือกําลังจะโต้ตอบกับกล่องโต้ตอบ

dialogEventType

enum (DialogEventType)

ประเภทของเหตุการณ์การโต้ตอบกล่องโต้ตอบที่ได้รับ

common

object (CommonEventObject)

แสดงข้อมูลเกี่ยวกับไคลเอ็นต์ของผู้ใช้ เช่น ภาษา แอปโฮสต์ และแพลตฟอร์ม สำหรับแอป Chat CommonEventObject จะมีข้อมูลที่ผู้ใช้ส่งเมื่อโต้ตอบกับกล่องโต้ตอบ เช่น ข้อมูลที่ป้อนในการ์ด

appCommandMetadata

object (AppCommandMetadata)

ข้อมูลเมตาเกี่ยวกับคำสั่งแอป Chat

CommonEventObject

ออบเจ็กต์เหตุการณ์ทั่วไปคือส่วนของออบเจ็กต์เหตุการณ์โดยรวมที่มีข้อมูลทั่วไปที่ไม่ขึ้นอยู่กับโฮสต์ไปยังส่วนเสริมจากไคลเอ็นต์ของผู้ใช้ ข้อมูลนี้รวมถึงรายละเอียดต่างๆ เช่น ภาษาของผู้ใช้ แอปโฮสต์ และแพลตฟอร์ม

นอกจากทริกเกอร์ในหน้าแรกและทริกเกอร์ตามบริบทแล้ว ส่วนเสริมยังสร้างและส่งออบเจ็กต์เหตุการณ์ไปยังฟังก์ชันการเรียกกลับของการดำเนินการเมื่อผู้ใช้โต้ตอบกับวิดเจ็ต ฟังก์ชันเรียกกลับของส่วนเสริมสามารถค้นหาออบเจ็กต์เหตุการณ์ทั่วไปเพื่อกำหนดเนื้อหาของวิดเจ็ตที่เปิดในไคลเอ็นต์ของผู้ใช้ เช่น ส่วนเสริมสามารถค้นหาข้อความที่ผู้ใช้ป้อนลงในวิดเจ็ต TextInput ในออบเจ็กต์ eventObject.commentEventObject.formInputs

สำหรับแอป Chat ชื่อของฟังก์ชันที่ผู้ใช้เรียกใช้เมื่อโต้ตอบกับวิดเจ็ต

การแสดง JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
ช่อง
userLocale

string

ปิดใช้โดยค่าเริ่มต้น ตัวระบุภาษาและประเทศ/ภูมิภาคของผู้ใช้ในรูปแบบรหัสภาษา ISO 639 - รหัสประเทศ/ภูมิภาค ISO 3166 ตัวอย่างเช่น en-US

หากต้องการเปิดช่องนี้ คุณต้องตั้งค่า addOns.common.useLocaleFromApp เป็น true ในไฟล์ Manifest ของส่วนเสริม รายการขอบเขตของส่วนเสริมต้องมี https://www.googleapis.com/auth/script.locale ด้วย ดูรายละเอียดเพิ่มเติมได้ที่การเข้าถึงภาษาและเขตเวลาของผู้ใช้

hostApp

enum (HostApp)

ระบุแอปโฮสต์ที่ส่วนเสริมทำงานอยู่เมื่อสร้างออบเจ็กต์เหตุการณ์ ค่าที่เป็นไปได้ ได้แก่

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

enum (Platform)

การแจงนับแพลตฟอร์มซึ่งระบุแพลตฟอร์มที่เกิดเหตุการณ์ (WEB, IOS หรือ ANDROID) แอป Chat ไม่รองรับ

timeZone

object (TimeZone)

ปิดใช้โดยค่าเริ่มต้น รหัสเขตเวลาและค่าชดเชยเวลาจากเวลาสากลเชิงพิกัด (UTC) หากต้องการเปิดช่องนี้ คุณต้องตั้งค่า addOns.common.useLocaleFromApp เป็น true ในไฟล์ Manifest ของส่วนเสริม รายการขอบเขตของส่วนเสริมต้องมี https://www.googleapis.com/auth/script.locale ด้วย ดูรายละเอียดเพิ่มเติมได้ที่การเข้าถึงภาษาและเขตเวลาของผู้ใช้

รองรับเฉพาะประเภทเหตุการณ์ CARD_CLICKED และ SUBMIT_DIALOG

formInputs

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

แผนที่ที่มีค่าปัจจุบันของวิดเจ็ตในการ์ดที่แสดง คีย์แผนที่เป็นรหัสสตริงที่กำหนดให้กับวิดเจ็ตแต่ละรายการ

โครงสร้างของออบเจ็กต์ค่าแผนที่จะขึ้นอยู่กับประเภทวิดเจ็ต ดังนี้

หมายเหตุ: ตัวอย่างต่อไปนี้จัดรูปแบบสำหรับรันไทม์ V8 ของ Apps Script หากใช้รันไทม์ Rhino คุณต้องเพิ่ม [""] หลังค่า เช่น แทนที่จะเป็น e.commonEventObject.formInputs.employeeName.stringInputs.value[0] ให้จัดรูปแบบออบเจ็กต์เหตุการณ์เป็น e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] ดูข้อมูลเพิ่มเติมเกี่ยวกับรันไทม์ใน Apps Script ได้ที่ภาพรวมของรันไทม์ V8

  • วิดเจ็ตแบบค่าเดียว (เช่น กล่องข้อความ): รายการสตริง (องค์ประกอบเดียวเท่านั้น)

ตัวอย่าง: สำหรับวิดเจ็ตการป้อนข้อความที่มี employeeName เป็นรหัส ให้เข้าถึงค่าการป้อนข้อความด้วย e.commonEventObject.formInputs.employeeName.stringInputs.value[0]

  • วิดเจ็ตที่มีหลายค่า (เช่น กลุ่มช่องทำเครื่องหมาย): รายการสตริง

ตัวอย่าง: สำหรับวิดเจ็ตแบบหลายค่าที่มี participants เป็นรหัส ให้เข้าถึงอาร์เรย์ค่าด้วย e.commonEventObject.formInputs.participants.stringInputs.value

  • เครื่องมือเลือกวันที่และเวลา: DateTimeInput object

ตัวอย่าง: สำหรับเครื่องมือเลือกที่มีรหัส myDTPicker ให้เข้าถึงออบเจ็กต์ DateTimeInput โดยใช้ e.commonEventObject.formInputs.myDTPicker.dateTimeInput

  • เครื่องมือเลือกวันที่เท่านั้น: DateInput object

ตัวอย่าง: สำหรับเครื่องมือเลือกที่มีรหัส myDatePicker ให้เข้าถึงออบเจ็กต์ DateInput โดยใช้ e.commonEventObject.formInputs.myDatePicker.dateInput

  • เครื่องมือเลือกเวลาเท่านั้น: TimeInput object

ตัวอย่าง: สำหรับเครื่องมือเลือกที่มีรหัส myTimePicker ให้เข้าถึงออบเจ็กต์ TimeInput โดยใช้ e.commonEventObject.formInputs.myTimePicker.timeInput

parameters

map (key: string, value: string)

พารามิเตอร์เพิ่มเติมที่คุณระบุในการดำเนินการโดยใช้ actionParameters หรือ Action.setParameters()

รุ่นตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์: สำหรับส่วนเสริมที่ขยาย Google Chat หากต้องการแนะนำรายการตามสิ่งที่ผู้ใช้พิมพ์ในเมนูแบบหลายตัวเลือก ให้ใช้ค่าของคีย์ "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]) คุณสามารถใช้ค่านี้เพื่อค้นหาฐานข้อมูลและแนะนำรายการที่เลือกได้แก่ผู้ใช้ขณะที่พิมพ์ โปรดดูรายละเอียดที่หัวข้อรวบรวมและประมวลผลข้อมูลจากผู้ใช้ Google Chat

invokedFunction

string

ชื่อของฟังก์ชันที่จะเรียกใช้

ฟิลด์นี้จะไม่แสดงสำหรับส่วนเสริม Google Workspace ที่ขยาย Google Chat แต่หากต้องการรับข้อมูลฟังก์ชัน เช่น ตัวระบุ ส่วนเสริมที่ขยาย Chat ควรใช้ช่อง parameters ดูสร้างอินเทอร์เฟซแบบอินเทอร์แอกทีฟสำหรับแอป Chat

TimeZone

รหัสเขตเวลาและค่าชดเชยเวลาจากเวลาสากลเชิงพิกัด (UTC) รองรับเฉพาะประเภทเหตุการณ์ CARD_CLICKED และ SUBMIT_DIALOG

การแสดง JSON
{
  "id": string,
  "offset": integer
}
ช่อง
id

string

รหัสฐานข้อมูลเขตเวลา IANA TZ เช่น "America/Toronto"

offset

integer

ออฟเซ็ตเขตเวลาของผู้ใช้เป็นมิลลิวินาทีจากเวลาสากลเชิงพิกัด (UTC)

อินพุต

ประเภทข้อมูลที่ผู้ใช้ป้อนในการ์ดหรือกล่องโต้ตอบได้ ประเภทอินพุตจะขึ้นอยู่กับประเภทค่าที่วิดเจ็ตยอมรับ

การแสดง 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.
}
ช่อง

ฟิลด์ Union inputs

inputs ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

stringInputs

object (StringInputs)

รายการสตริงที่แสดงค่าที่ผู้ใช้ป้อนในวิดเจ็ต

หากวิดเจ็ตยอมรับค่าเพียงค่าเดียว เช่น วิดเจ็ต TextInput รายการจะมีออบเจ็กต์สตริง 1 รายการ หากวิดเจ็ตยอมรับหลายค่า เช่น วิดเจ็ตSelectionInputของช่องทำเครื่องหมาย ลิสต์จะมีออบเจ็กต์สตริงสำหรับแต่ละค่าที่ผู้ใช้ป้อนหรือเลือก

dateTimeInput

object (DateTimeInput)

ค่าอินพุตวันที่และเวลาจากวิดเจ็ต DateTimePicker ที่ยอมรับทั้งวันที่และเวลา

dateInput

object (DateInput)

ค่าอินพุตวันที่จากวิดเจ็ต DateTimePicker ที่ยอมรับเฉพาะค่าวันที่

timeInput

object (TimeInput)

ค่าอินพุตเวลาจากวิดเจ็ต DateTimePicker ที่ยอมรับเฉพาะค่าเวลา

StringInputs

พารามิเตอร์อินพุตสำหรับวิดเจ็ตปกติ สําหรับวิดเจ็ตที่มีค่าเดียว จะเป็นรายการค่าเดียว สําหรับวิดเจ็ตแบบหลายค่า เช่น ช่องทําเครื่องหมาย ระบบจะแสดงค่าทั้งหมด

การแสดง JSON
{
  "value": [
    string
  ]
}
ช่อง
value[]

string

รายการสตริงที่ผู้ใช้ป้อน

DateTimeInput

ค่าอินพุตวันที่และเวลา

การแสดง JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
ช่อง
msSinceEpoch

string (int64 format)

เวลาตั้งแต่เวลา Epoch ในหน่วยมิลลิวินาที

hasDate

boolean

ระบุว่าdatetimeอินพุตมีวันที่ในปฏิทินหรือไม่

hasTime

boolean

ระบุว่าอินพุต datetime มีการประทับเวลาหรือไม่

DateInput

ค่าอินพุตวันที่

การแสดง JSON
{
  "msSinceEpoch": string
}
ช่อง
msSinceEpoch

string (int64 format)

เวลาตั้งแต่เวลา Epoch ในหน่วยมิลลิวินาที

TimeInput

ค่าอินพุตเวลา

การแสดง JSON
{
  "hours": integer,
  "minutes": integer
}
ช่อง
hours

integer

ชั่วโมงในรูปแบบเวลา 24 ชั่วโมง

minutes

integer

จำนวนนาทีที่ผ่านมาในชั่วโมง ค่าที่ใช้ได้คือ 0 ถึง 59

AppCommandMetadata

ข้อมูลเมตาเกี่ยวกับคำสั่งแอปใน Chat

การแสดง JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
ช่อง
appCommandId

integer

รหัสของคำสั่งที่ระบุในการกำหนดค่า Chat API

appCommandType

enum (AppCommandType)

ประเภทของคำสั่งแอป Chat