อินพุตที่เลือก

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

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

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

ตัวอย่าง

ส่วนนี้จะแสดงตัวอย่างของการ์ดที่ใช้วิดเจ็ต SelectionInput ตัวอย่างใช้ข้อมูลอินพุตส่วนประเภทต่างๆ ดังนี้

ตัวอย่างที่ 1: ช่องทำเครื่องหมาย

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

ตัวอย่างที่ 2: ปุ่มตัวเลือก

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

ตัวอย่างที่ 3: สวิตช์

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

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

ตัวอย่างที่ 5: เมนูแบบเลือกหลายรายการ

รายการต่อไปนี้จะแสดงกล่องโต้ตอบที่ขอให้ผู้ใช้เลือกรายชื่อติดต่อจากเมนูการเลือกหลายรายการ

แหล่งข้อมูลเพิ่มเติมสำหรับเมนูแบบเลือกหลายรายการ

ส่วนต่อไปนี้จะอธิบายวิธีใช้เมนูแบบเลือกหลายรายการเพื่อป้อนข้อมูลจากแหล่งที่มาแบบไดนามิก เช่น แอปพลิเคชัน Google Workspace หรือแหล่งข้อมูลภายนอก

แหล่งข้อมูลจาก Google Workspace

คุณป้อนข้อมูลสำหรับเมนูแบบเลือกหลายรายการได้จากแหล่งข้อมูลต่อไปนี้ใน Google Workspace

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

หากต้องการใช้แหล่งข้อมูลของ Google Workspace คุณต้องระบุช่อง platformDataSource คุณจะยกเว้นออบเจ็กต์ SectionItem ประเภทอื่นๆ ได้ด้วย เนื่องจากรายการการเลือกเหล่านี้จะมาจาก Google Workspace แบบไดนามิก

รหัสต่อไปนี้แสดงเมนูแบบเลือกหลายรายการของผู้ใช้ Google Workspace หากต้องการเติมข้อมูลผู้ใช้ อินพุตการเลือกจะตั้งค่า commonDataSource เป็น USER ดังนี้

JSON

{
  "selectionInput": {
    "name": "contacts",
    "type": "MULTI_SELECT",
    "label": "Selected contacts",
    "multiSelectMaxSelectedItems": 5,
    "multiSelectMinQueryLength": 1,
    "platformDataSource": {
      "commonDataSource": "USER"
    }
  }
}

โค้ดต่อไปนี้แสดงเมนูพื้นที่ใน Chat แบบเลือกหลายรายการ หากต้องการเติมข้อมูลเว้นวรรค อินพุตการเลือกจะระบุช่อง hostAppDataSource เมนูการเลือกหลายรายการยังตั้งค่า defaultToCurrentSpace เป็น true อีกด้วย ซึ่งทำให้พื้นที่ทำงานปัจจุบันเป็นการเลือกเริ่มต้นในเมนู

JSON

{
  "selectionInput": {
    "name": "spaces",
    "type": "MULTI_SELECT",
    "label": "Selected contacts",
    "multiSelectMaxSelectedItems": 3,
    "multiSelectMinQueryLength": 1,
    "platformDataSource": {
      "hostAppDataSource": {
        "chatDataSource": {
          "spaceDataSource": {
            "defaultToCurrentSpace": true
          }
        }
      }
    }
  }
}
แหล่งข้อมูลนอก Google Workspace

นอกจากนี้ เมนูการเลือกหลายรายการยังเติมข้อมูลรายการจากแหล่งข้อมูลของบุคคลที่สามหรือแหล่งข้อมูลภายนอกได้ด้วย ตัวอย่างเช่น คุณสามารถใช้เมนูแบบเลือกหลายรายการเพื่อช่วยให้ผู้ใช้เลือกจากรายการโอกาสในการขายจากระบบการจัดการลูกค้าสัมพันธ์ (CRM) ได้

หากต้องการใช้แหล่งข้อมูลภายนอก ให้ใช้ช่อง externalDataSource เพื่อระบุฟังก์ชันที่แสดงรายการจากแหล่งข้อมูล

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

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

JSON

{
  "selectionInput": {
    "name": "contacts",
    "type": "MULTI_SELECT",
    "label": "Selected contacts",
    "multiSelectMaxSelectedItems": 5,
    "multiSelectMinQueryLength": 2,
    "externalDataSource": {
      "function": "getContacts"
    },
    "items": [
      {
        "text": "Contact 3",
        "value": "contact-3",
        "startIconUri": "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
        "bottomText": "Contact three description",
        "selected": false
      }
    ]
  }
}

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

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

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

โค้ดต่อไปนี้จะเติมข้อความอัตโนมัติจากรายการจากแหล่งข้อมูลภายนอก จากตัวอย่างก่อนหน้านี้ แอป Chat จะแนะนำรายการโดยอิงตามเวลาที่มีการทริกเกอร์ฟังก์ชัน getContacts ดังนี้

Apps Script

apps-script/selection-input/on-widget-update.gs
/**
 * Widget update event handler.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app.
 */
function onWidgetUpdate(event) {
  const actionName = event.common["invokedFunction"];
  if (actionName !== "getContacts") {
    return {};
  }

  return {
    actionResponse: {
      type: "UPDATE_WIDGET",
      updatedWidget: {
        suggestions: {
          items: [
            {
              value: "contact-1",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 1",
              bottomText: "Contact one description",
              selected: false
            },
            {
              value: "contact-2",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 2",
              bottomText: "Contact two description",
              selected: false
            },
            {
              value: "contact-3",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 3",
              bottomText: "Contact three description",
              selected: false
            },
            {
              value: "contact-4",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 4",
              bottomText: "Contact four description",
              selected: false
            },
            {
              value: "contact-5",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 5",
              bottomText: "Contact five description",
              selected: false
            },
          ]
        }
      }
    }
  };
}

Node.js

node/selection-input/on-widget-update.js
/**
 * Widget update event handler.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app.
 */
function onWidgetUpdate(event) {
  const actionName = event.common["invokedFunction"];
  if (actionName !== "getContacts") {
    return {};
  }

  return {
    actionResponse: {
      type: "UPDATE_WIDGET",
      updatedWidget: {
        suggestions: {
          items: [
            {
              value: "contact-1",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 1",
              bottomText: "Contact one description",
              selected: false
            },
            {
              value: "contact-2",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 2",
              bottomText: "Contact two description",
              selected: false
            },
            {
              value: "contact-3",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 3",
              bottomText: "Contact three description",
              selected: false
            },
            {
              value: "contact-4",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 4",
              bottomText: "Contact four description",
              selected: false
            },
            {
              value: "contact-5",
              startIconUri: "https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png",
              text: "Contact 5",
              bottomText: "Contact five description",
              selected: false
            },
          ]
        }
      }
    }
  };
}

การแสดงและช่อง JSON

การแสดง JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMaxSelectedItems": integer,
  "multiSelectMinQueryLength": integer,

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
ช่อง
name

string

ชื่อที่ระบุอินพุตการเลือกในเหตุการณ์อินพุตแบบฟอร์ม

โปรดดูรายละเอียดเกี่ยวกับการทํางานกับอินพุตของแบบฟอร์มที่หัวข้อรับข้อมูลแบบฟอร์ม

label

string

ข้อความที่ปรากฏเหนือช่องป้อนข้อมูลการเลือกในอินเทอร์เฟซผู้ใช้

ระบุข้อความที่ช่วยให้ผู้ใช้ป้อนข้อมูลที่แอปของคุณต้องการ เช่น หากผู้ใช้เลือกความเร่งด่วนของตั๋วงานจากเมนูแบบเลื่อนลง ป้ายกำกับอาจเป็น "ความเร่งด่วน" หรือ "เลือกความเร่งด่วน"

type

enum (SelectionType)

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

items[]

object (SelectionItem)

อาร์เรย์ของรายการที่เลือกได้ ตัวอย่างเช่น ปุ่มตัวเลือกหรือช่องทำเครื่องหมายต่างๆ รองรับสูงสุด 100 รายการ

onChangeAction

object (Action)

หากระบุไว้ ระบบจะส่งแบบฟอร์มนี้เมื่อการเลือกมีการเปลี่ยนแปลง หากไม่ได้ระบุไว้ คุณต้องระบุปุ่มแยกต่างหากที่ใช้ส่งแบบฟอร์ม

โปรดดูรายละเอียดเกี่ยวกับการทํางานกับอินพุตของแบบฟอร์มที่หัวข้อรับข้อมูลแบบฟอร์ม

multiSelectMaxSelectedItems

integer

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

multiSelectMinQueryLength

integer

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

หากไม่ระบุ ค่าเริ่มต้นจะเป็น 0 อักขระสําหรับแหล่งข้อมูลแบบคงที่ และ 3 อักขระสําหรับแหล่งข้อมูลภายนอก

ช่องการรวม multi_select_data_source แอปแชทเท่านั้น สำหรับเมนูการเลือกหลายรายการ แหล่งข้อมูลที่สร้างรายการที่เลือก multi_select_data_source ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
externalDataSource

object (Action)

แหล่งข้อมูลภายนอก เช่น ฐานข้อมูลเชิงสัมพันธ์

platformDataSource

object (PlatformDataSource)

แหล่งข้อมูลจาก Google Workspace

SelectionType

Enum
CHECK_BOX ชุดช่องทำเครื่องหมาย ผู้ใช้เลือกช่องทำเครื่องหมายได้อย่างน้อย 1 ช่อง
RADIO_BUTTON ชุดปุ่มตัวเลือก ผู้ใช้เลือกปุ่มตัวเลือกได้ 1 ปุ่ม
SWITCH ชุดสวิตช์ ผู้ใช้เปิดสวิตช์ได้อย่างน้อย 1 รายการ
DROPDOWN เมนูแบบเลื่อนลง ผู้ใช้เลือกได้ 1 รายการจากเมนู
MULTI_SELECT

รองรับในแอปแชท แต่ไม่รองรับส่วนเสริมของ Google Workspace

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

หากต้องการเติมข้อมูลรายการสำหรับเมนูการเลือกหลายรายการ คุณสามารถใช้แหล่งข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้

  • ข้อมูลคงที่: รายการจะระบุเป็นออบเจ็กต์ SelectionItem ในวิดเจ็ต สูงสุด 100 รายการ
  • ข้อมูล Google Workspace: ระบบจะสร้างรายการโดยใช้ข้อมูลจาก Google Workspace เช่น ผู้ใช้ Google Workspace หรือพื้นที่ใน Google Chat
  • ข้อมูลภายนอก: รายการสร้างขึ้นจากแหล่งข้อมูลภายนอกภายนอก Google Workspace

ดูตัวอย่างวิธีใช้เมนูแบบเลือกหลายรายการได้ที่ หน้าวิดเจ็ต SelectionInput

SelectionItem

การแสดง JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
ช่อง
text

string

ข้อความที่ระบุหรืออธิบายรายการให้ผู้ใช้ทราบ

value

string

ค่าที่เชื่อมโยงกับรายการนี้ ไคลเอ็นต์ควรใช้ค่านี้เป็นค่าอินพุตแบบฟอร์ม

โปรดดูรายละเอียดเกี่ยวกับการทํางานกับอินพุตของแบบฟอร์มที่หัวข้อรับข้อมูลแบบฟอร์ม

selected

boolean

ระบุว่ารายการจะถูกเลือกโดยค่าเริ่มต้นหรือไม่ หากอินพุตการเลือกยอมรับเพียงค่าเดียว (เช่น สําหรับปุ่มตัวเลือกหรือเมนูแบบเลื่อนลง) ให้ตั้งค่าช่องนี้สําหรับรายการเดียวเท่านั้น

startIconUri

string

สำหรับเมนูแบบเลือกหลายรายการ URL สำหรับไอคอนที่แสดงอยู่ข้างช่อง text ของรายการ รองรับไฟล์ PNG และ JPEG ต้องเป็น URL HTTPS เช่น https://developers.google.com/chat/images/quickstart-app-avatar.png

bottomText

string

สำหรับเมนูแบบเลือกหลายรายการ จะมีคำอธิบายข้อความหรือป้ายกำกับที่แสดงใต้ช่อง text ของรายการ

การดำเนินการ

การดำเนินการที่อธิบายลักษณะการทำงานเมื่อส่งแบบฟอร์ม เช่น เรียกใช้สคริปต์ Apps Script เพื่อจัดการกับแบบฟอร์ม หากมีการทริกเกอร์การดำเนินการ ระบบจะส่งค่าของแบบฟอร์มไปยังเซิร์ฟเวอร์

การแสดง JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction)
}
ช่อง
function

string

ฟังก์ชันที่กำหนดเองที่จะเรียกใช้เมื่อมีการคลิกองค์ประกอบที่มีหรือเปิดใช้งานไม่ว่าจะอย่างไรก็ตาม

ดูตัวอย่างการใช้งานได้ที่สร้างการ์ดแบบอินเทอร์แอกทีฟ

parameters[]

object (ActionParameter)

รายการพารามิเตอร์การกระทำ

loadIndicator

enum (LoadIndicator)

ระบุสัญญาณบอกสถานะการโหลดที่การดำเนินการดังกล่าวแสดงขณะสร้างคำกระตุ้นการตัดสินใจ

persistValues

boolean

ระบุว่าค่าของแบบฟอร์มจะยังคงอยู่หลังจากการดำเนินการหรือไม่ ค่าเริ่มต้นคือ false

หากเป็น true ค่าของแบบฟอร์มจะยังคงอยู่หลังจากทริกเกอร์การดำเนินการ หากต้องการให้ผู้ใช้ทำการเปลี่ยนแปลงได้ในขณะที่ระบบกำลังประมวลผลการดำเนินการ ให้ตั้งค่า LoadIndicator เป็น NONE สำหรับข้อความการ์ดในแอป Chat คุณจะต้องตั้งค่า ResponseType ของการดำเนินการเป็น UPDATE_MESSAGE และใช้ cardId เดียวกันจากการ์ดที่มีการดำเนินการดังกล่าวด้วย

หากเป็น false ระบบจะล้างค่าของแบบฟอร์มเมื่อมีการทริกเกอร์การดำเนินการ หากต้องการป้องกันไม่ให้ผู้ใช้ทำการเปลี่ยนแปลงขณะที่กำลังดำเนินการ ให้ตั้งค่า LoadIndicator เป็น SPINNER

interaction

enum (Interaction)

ไม่บังคับ ต้องระบุเมื่อเปิดกล่องโต้ตอบ

สิ่งที่ควรทำเพื่อตอบสนองต่อการโต้ตอบกับผู้ใช้ เช่น การที่ผู้ใช้คลิกปุ่มในการ์ดข้อความ

หากไม่ระบุ แอปจะตอบสนองด้วยการเรียกใช้ action เช่น การเปิดลิงก์หรือเรียกใช้ฟังก์ชันตามปกติ

เมื่อระบุ interaction แอปจะตอบสนองแบบอินเทอร์แอกทีฟแบบพิเศษได้ เช่น เมื่อตั้งค่า interaction เป็น OPEN_DIALOG แอปจะเปิดกล่องโต้ตอบได้ เมื่อระบุแล้ว ระบบจะไม่แสดงสัญญาณบอกสถานะการโหลด

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

ActionParameter

รายการพารามิเตอร์สตริงที่จะนำมาใช้เมื่อมีการเรียกใช้เมธอดการดำเนินการ ตัวอย่างเช่น ลองใช้ปุ่มเลื่อนการแจ้งเตือน 3 ปุ่ม ได้แก่ ปิดเสียงเตือนชั่วคราวตอนนี้ ปิดเสียงเตือนชั่วคราว 1 วัน หรือเลื่อนการปลุกสัปดาห์หน้า คุณอาจใช้ action method = snooze() เพื่อส่งประเภทการหยุดชั่วคราวและเวลาหยุดชั่วคราวในรายการพารามิเตอร์สตริง

ดูข้อมูลเพิ่มเติมได้ใน CommonEventObject

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

string

ชื่อพารามิเตอร์สำหรับสคริปต์การดำเนินการ

value

string

ค่าของพารามิเตอร์

LoadIndicator

ระบุสัญญาณบอกสถานะการโหลดที่การดำเนินการดังกล่าวแสดงขณะสร้างคำกระตุ้นการตัดสินใจ

Enum
SPINNER แสดงไอคอนหมุนเพื่อระบุว่ากำลังโหลดเนื้อหา
NONE ไม่มีอะไรปรากฏขึ้น

การโต้ตอบ

ไม่บังคับ ต้องระบุเมื่อเปิดกล่องโต้ตอบ

สิ่งที่ควรทำเพื่อตอบสนองต่อการโต้ตอบกับผู้ใช้ เช่น การที่ผู้ใช้คลิกปุ่มในการ์ดข้อความ

หากไม่ระบุ แอปจะตอบสนองด้วยการเรียกใช้ action เช่น การเปิดลิงก์หรือเรียกใช้ฟังก์ชันตามปกติ

เมื่อระบุ interaction แอปจะตอบสนองแบบอินเทอร์แอกทีฟแบบพิเศษได้ เช่น เมื่อตั้งค่า interaction เป็น OPEN_DIALOG แอปจะเปิดกล่องโต้ตอบได้

เมื่อระบุแล้ว ระบบจะไม่แสดงสัญญาณบอกสถานะการโหลด

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

Enum
INTERACTION_UNSPECIFIED ค่าเริ่มต้น action ทำงานตามปกติ
OPEN_DIALOG

เปิด กล่องโต้ตอบ ซึ่งเป็นอินเทอร์เฟซแบบการ์ดในหน้าต่างที่แอป Chat ใช้เพื่อโต้ตอบกับผู้ใช้

รองรับโดยแอป Chat เท่านั้นเมื่อมีการคลิกปุ่มบนข้อความการ์ด

ส่วนเสริมของ Google Workspace ไม่รองรับ หากระบุไว้สำหรับส่วนเสริม การ์ดทั้งหมดจะถูกนำออกและจะไม่แสดงในไคลเอ็นต์

แก้ปัญหา

เมื่อแอป Google Chat หรือการ์ดแสดงข้อผิดพลาด อินเทอร์เฟซ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat ไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอปหรือการ์ด Chat อาจให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ปรากฏ

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