REST Resource: spaces.messages

แหล่งข้อมูล: ข้อความ

ข้อความในพื้นที่ใน Google Chat

การแสดง JSON
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": string,
  "formattedText": string,
  "cards": [
    {
      object (Card)
    }
  ],
  "cardsV2": [
    {
      object (CardWithId)
    }
  ],
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "fallbackText": string,
  "actionResponse": {
    object (ActionResponse)
  },
  "argumentText": string,
  "slashCommand": {
    object (SlashCommand)
  },
  "attachment": [
    {
      object (Attachment)
    }
  ],
  "matchedUrl": {
    object (MatchedUrl)
  },
  "threadReply": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "privateMessageViewer": {
    object (User)
  },
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ],
  "accessoryWidgets": [
    {
      object (AccessoryWidget)
    }
  ]
}
ช่อง
name

string

ตัวระบุ ชื่อทรัพยากรของข้อความ

รูปแบบ: spaces/{space}/messages/{message}

โดย {space} คือรหัสของพื้นที่ที่มีการโพสต์ข้อความ และ {message} คือรหัสที่ระบบกำหนดให้ข้อความ เช่น spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

หากตั้งค่ารหัสที่กำหนดเองเมื่อสร้างข้อความ คุณจะใช้รหัสนี้เพื่อระบุข้อความในคำขอได้โดยแทนที่ {message} ด้วยค่าจากช่อง clientAssignedMessageId เช่น spaces/AAAAAAAAAAA/messages/client-custom-name โปรดดูรายละเอียดที่หัวข้อตั้งชื่อข้อความ

sender

object (User)

เอาต์พุตเท่านั้น ผู้ใช้ที่สร้างข้อความ หากแอป Chat ตรวจสอบสิทธิ์ในฐานะผู้ใช้ เอาต์พุตจะแสดงใน user name และ type

createTime

string (Timestamp format)

ไม่บังคับ เปลี่ยนแปลงไม่ได้ สำหรับพื้นที่ทำงานที่สร้างใน Chat เวลาที่สร้างข้อความ ช่องนี้เป็นเอาต์พุตเท่านั้น ยกเว้นเมื่อใช้ในพื้นที่ทำงานโหมดการนำเข้า

สำหรับพื้นที่ทำงานในโหมดการนำเข้า ให้ตั้งค่าฟิลด์นี้เป็นการประทับเวลาในอดีตที่สร้างข้อความในแหล่งที่มาเพื่อรักษาเวลาที่สร้างเดิมไว้

lastUpdateTime

string (Timestamp format)

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

deleteTime

string (Timestamp format)

เอาต์พุตเท่านั้น เวลาที่ลบข้อความใน Google Chat หากไม่มีการลบข้อความ ช่องนี้จะว่างเปล่า

text

string

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

ดูข้อมูลเกี่ยวกับการสร้างข้อความได้ที่ส่งข้อความ

formattedText

string

เอาต์พุตเท่านั้น มีข้อความ text พร้อมมาร์กอัปที่เพิ่มไว้เพื่อสื่อสารการจัดรูปแบบ ช่องนี้อาจไม่แสดงการจัดรูปแบบทั้งหมดที่มองเห็นใน UI แต่จะรวมถึงรายการต่อไปนี้

  • ไวยากรณ์มาร์กอัปสำหรับตัวหนา ตัวเอียง ขีดทับ โมโนสเปซ บล็อกโมโนสเปซ และรายการสัญลักษณ์หัวข้อย่อย

  • การกล่าวถึงผู้ใช้โดยใช้รูปแบบ <users/{user}>

  • ไฮเปอร์ลิงก์ที่กำหนดเองโดยใช้รูปแบบ <{url}|{rendered_text}> ซึ่งสตริงแรกคือ URL และสตริงที่สองคือข้อความที่แสดง เช่น <http://example.com|custom text>

  • อีโมจิที่กำหนดเองโดยใช้รูปแบบ :{emojiName}: เช่น :smile: โดยจะไม่มีผลกับอีโมจิ Unicode เช่น U+1F600 สำหรับอีโมจิหน้ายิ้ม

ดูข้อมูลเพิ่มเติมได้ที่ดูการจัดรูปแบบข้อความที่ส่งในข้อความ

cards[]
(deprecated)

object (Card)

เลิกใช้งานแล้ว: โปรดใช้ cardsV2 แทน

การ์ดแบบอินเทอร์แอกทีฟที่จัดรูปแบบแล้วและมีเนื้อหาหลากหลาย ซึ่งคุณใช้เพื่อแสดงองค์ประกอบ UI ได้ เช่น ข้อความที่จัดรูปแบบ ปุ่ม และรูปภาพที่คลิกได้ โดยปกติแล้วการ์ดจะแสดงใต้เนื้อหาข้อความแบบข้อความธรรมดา cards และ cardsV2 มีขนาดสูงสุดได้ 32 KB

cardsV2[]

object (CardWithId)

ไม่บังคับ อาร์เรย์ของการ์ด

เฉพาะแอป Chat เท่านั้นที่สร้างการ์ดได้ หากแอป Chat ตรวจสอบสิทธิ์ในฐานะผู้ใช้ ข้อความจะมีการ์ดไม่ได้

ดูวิธีสร้างข้อความที่มีการ์ดได้ที่ส่งข้อความ

ออกแบบและดูตัวอย่างการ์ดด้วยเครื่องมือสร้างการ์ด

เปิดเครื่องมือสร้างการ์ด

annotations[]

object (Annotation)

เอาต์พุตเท่านั้น คำอธิบายประกอบสามารถเชื่อมโยงกับเนื้อหาข้อความที่เป็นข้อความธรรมดาหรือกับชิปที่ลิงก์ไปยังแหล่งข้อมูลของ Google Workspace เช่น Google เอกสารหรือชีตที่มี startIndex และ length เป็น 0

thread

object (Thread)

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

space

object (Space)

เอาต์พุตเท่านั้น หากแอปใน Chat ตรวจสอบสิทธิ์ในฐานะผู้ใช้ เอาต์พุตจะแสดงเฉพาะในพื้นที่ทำงาน name

fallbackText

string

ไม่บังคับ คำอธิบายข้อความในรูปแบบข้อความธรรมดา ซึ่งใช้เมื่อแสดงการ์ดจริงไม่ได้ เช่น การแจ้งเตือนในอุปกรณ์เคลื่อนที่

actionResponse

object (ActionResponse)

อินพุตเท่านั้น พารามิเตอร์ที่แอป Chat ใช้กำหนดค่าวิธีโพสต์คำตอบ

argumentText

string

เอาต์พุตเท่านั้น เนื้อหาข้อความแบบข้อความธรรมดาโดยไม่มีการกล่าวถึงแอป Chat ทั้งหมด

slashCommand

object (SlashCommand)

เอาต์พุตเท่านั้น ข้อมูลคำสั่งเครื่องหมายทับ (หากมี)

attachment[]

object (Attachment)

ไม่บังคับ ไฟล์แนบที่ผู้ใช้อัปโหลด

matchedUrl

object (MatchedUrl)

เอาต์พุตเท่านั้น URL ใน spaces.messages.text ที่ตรงกับรูปแบบตัวอย่างลิงก์ ดูข้อมูลเพิ่มเติมได้ที่แสดงตัวอย่างลิงก์

threadReply

boolean

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

หากพื้นที่ทำงานไม่รองรับการตอบกลับในชุดข้อความ ช่องนี้จะเป็น false เสมอ

clientAssignedMessageId

string

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

emojiReactionSummaries[]

object (EmojiReactionSummary)

เอาต์พุตเท่านั้น รายการสรุปรีแอ็กชันด้วยอีโมจิในข้อความ

privateMessageViewer

object (User)

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

โปรดดูรายละเอียดที่หัวข้อส่งข้อความแบบส่วนตัว

deletionMetadata

object (DeletionMetadata)

เอาต์พุตเท่านั้น ข้อมูลเกี่ยวกับข้อความที่ถูกลบ ระบบจะลบข้อความเมื่อตั้งค่า deleteTime

quotedMessageMetadata

object (QuotedMessageMetadata)

ไม่บังคับ ข้อมูลเกี่ยวกับข้อความที่ข้อความอื่นอ้างอิง

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

เมื่ออัปเดตข้อความ คุณจะเพิ่มหรือแทนที่ฟิลด์ quotedMessageMetadata ไม่ได้ แต่สามารถนำออกได้

ดูตัวอย่างการใช้งานได้ที่อ้างอิงข้อความอื่น

attachedGifs[]

object (AttachedGif)

เอาต์พุตเท่านั้น รูปภาพ GIF ที่แนบมากับข้อความ

accessoryWidgets[]

object (AccessoryWidget)

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

การสร้างข้อความด้วยวิดเจ็ตอุปกรณ์เสริมต้องใช้การตรวจสอบสิทธิ์แอป

CardWithId

การ์ดในข้อความ Google Chat

เฉพาะแอป Chat เท่านั้นที่สร้างการ์ดได้ หากแอป Chat ตรวจสอบสิทธิ์ในฐานะผู้ใช้ ข้อความจะมีการ์ดไม่ได้

ออกแบบและดูตัวอย่างการ์ดด้วยเครื่องมือสร้างการ์ด

เปิดเครื่องมือสร้างการ์ด

การแสดง JSON
{
  "cardId": string,
  "card": {
    object (Card)
  }
}
ช่อง
cardId

string

ต้องระบุหากข้อความมีการ์ดหลายใบ ตัวระบุที่ไม่ซ้ำกันสำหรับบัตรในข้อความ

card

object (Card)

การ์ด ขนาดสูงสุดคือ 32 KB

หมายเหตุ

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

ตัวอย่างเนื้อหาข้อความแบบข้อความธรรมดา

Hello @FooBot how are you!"

ข้อมูลเมตาของคำอธิบายประกอบที่เกี่ยวข้อง

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
การแสดง JSON
{
  "type": enum (AnnotationType),
  "length": integer,
  "startIndex": integer,

  // Union field metadata can be only one of the following:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  },
  "richLinkMetadata": {
    object (RichLinkMetadata)
  },
  "customEmojiMetadata": {
    object (CustomEmojiMetadata)
  }
  // End of list of possible types for union field metadata.
}
ช่อง
type

enum (AnnotationType)

ประเภทของคำอธิบายประกอบนี้

length

integer

ความยาวของสตริงย่อยในเนื้อความของข้อความแบบข้อความธรรมดาที่คำอธิบายประกอบนี้สอดคล้องด้วย หากไม่มี แสดงว่ามีความยาวเป็น 0

startIndex

integer

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

ฟิลด์ Union metadata ข้อมูลเมตาเพิ่มเติมเกี่ยวกับคำอธิบายประกอบ metadata ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
userMention

object (UserMentionMetadata)

ข้อมูลเมตาของการพูดถึงผู้ใช้

slashCommand

object (SlashCommandMetadata)

ข้อมูลเมตาสำหรับคำสั่งเครื่องหมายทับ

customEmojiMetadata

object (CustomEmojiMetadata)

ข้อมูลเมตาสำหรับอีโมจิที่กำหนดเอง

AnnotationType

ประเภทของคำอธิบายประกอบ

Enum
ANNOTATION_TYPE_UNSPECIFIED ค่าเริ่มต้นสำหรับ Enum อย่าใช้
USER_MENTION มีการกล่าวถึงผู้ใช้
SLASH_COMMAND มีการเรียกใช้คำสั่งเครื่องหมายทับ
CUSTOM_EMOJI คำอธิบายประกอบอีโมจิที่กำหนดเอง

UserMentionMetadata

ข้อมูลเมตาของคำอธิบายประกอบสำหรับการพูดถึงผู้ใช้ (@)

การแสดง JSON
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
ช่อง
user

object (User)

ผู้ใช้ที่กล่าวถึง

type

enum (Type)

ประเภทของการกล่าวถึงผู้ใช้

ประเภท

Enum
TYPE_UNSPECIFIED ค่าเริ่มต้นสำหรับ Enum อย่าใช้
ADD เพิ่มผู้ใช้ไปยังพื้นที่ทำงาน
MENTION พูดถึงผู้ใช้ในพื้นที่ทำงาน

SlashCommandMetadata

ข้อมูลเมตาของคำอธิบายประกอบสำหรับคำสั่งเครื่องหมายทับ (/)

การแสดง JSON
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
ช่อง
bot

object (User)

แอป Chat ที่เรียกใช้คำสั่ง

type

enum (Type)

ประเภทของคำสั่งเครื่องหมายทับ

commandName

string

ชื่อของคำสั่ง Slash ที่เรียกใช้

commandId

string (int64 format)

รหัสคำสั่งของคำสั่ง Slash ที่เรียกใช้

triggersDialog

boolean

ระบุว่าคำสั่งเครื่องหมายทับใช้สำหรับกล่องโต้ตอบหรือไม่

ประเภท

Enum
TYPE_UNSPECIFIED ค่าเริ่มต้นสำหรับ Enum อย่าใช้
ADD เพิ่มแอป Chat ลงในพื้นที่ทำงาน
INVOKE เรียกใช้คำสั่งเครื่องหมายทับในพื้นที่ทำงาน

RichLinkMetadata

ลิงก์ที่สมบูรณ์ไปยังแหล่งข้อมูล ลิงก์ Rich สามารถเชื่อมโยงกับเนื้อหาข้อความแบบข้อความธรรมดาหรือแสดงชิปที่ลิงก์ไปยังแหล่งข้อมูลของ Google Workspace เช่น Google เอกสารหรือชีตที่มี startIndex และ length เป็น 0

การแสดง JSON
{
  "uri": string,
  "richLinkType": enum (RichLinkType),

  // Union field data can be only one of the following:
  "driveLinkData": {
    object (DriveLinkData)
  },
  "chatSpaceLinkData": {
    object (ChatSpaceLinkData)
  },
  "meetSpaceLinkData": {
    object (MeetSpaceLinkData)
  },
  "calendarEventLinkData": {
    object (CalendarEventLinkData)
  }
  // End of list of possible types for union field data.
}
ช่อง
uri

string

URI ของลิงก์นี้

ฟิลด์ Union data ข้อมูลสำหรับแหล่งข้อมูลที่ลิงก์ data ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

RichLinkType

ประเภทริชลิงก์ และอาจมีการเพิ่มประเภทอื่นๆ ในอนาคต

Enum
DRIVE_FILE ประเภท Rich Link ของ Google ไดรฟ์
CHAT_SPACE ประเภทลิงก์ริชมีเดียของพื้นที่ใน Chat เช่น ชิปอัจฉริยะของพื้นที่ทำงาน
MEET_SPACE ประเภทริชลิงก์ของข้อความ Meet เช่น ชิป Meet
CALENDAR_EVENT ประเภทลิงก์ Rich ของข้อความในปฏิทิน เช่น ชิปปฏิทิน

DriveLinkData

ข้อมูลสำหรับลิงก์ Google ไดรฟ์

การแสดง JSON
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
ช่อง
driveDataRef

object (DriveDataRef)

DriveDataRef ที่อ้างอิงไฟล์ใน Google ไดรฟ์

mimeType

string

ประเภท MIME ของทรัพยากร Google ไดรฟ์ที่ลิงก์

ChatSpaceLinkData

ข้อมูลสำหรับลิงก์พื้นที่ใน Chat

การแสดง JSON
{
  "space": string,
  "thread": string,
  "message": string
}
ช่อง
space

string

พื้นที่ของทรัพยากรพื้นที่ใน Chat ที่ลิงก์

รูปแบบ: spaces/{space}

thread

string

ชุดข้อความของทรัพยากรพื้นที่ใน Chat ที่ลิงก์

รูปแบบ: spaces/{space}/threads/{thread}

message

string

ข้อความของทรัพยากรพื้นที่ใน Chat ที่ลิงก์

รูปแบบ: spaces/{space}/messages/{message}

MeetSpaceLinkData

ข้อมูลสำหรับลิงก์พื้นที่ทำงานของ Meet

การแสดง JSON
{
  "meetingCode": string,
  "type": enum (Type),
  "huddleStatus": enum (HuddleStatus)
}
ช่อง
meetingCode

string

รหัสการประชุมของพื้นที่ Meet ที่ลิงก์

type

enum (Type)

ระบุประเภทพื้นที่ใน Meet

huddleStatus

enum (HuddleStatus)

ไม่บังคับ เอาต์พุตเท่านั้น หาก Meet เป็น Huddle จะระบุสถานะของ Huddle หากไม่เช่นนั้น ระบบจะไม่ตั้งค่านี้

ประเภท

ประเภทพื้นที่ Meet

Enum
TYPE_UNSPECIFIED ค่าเริ่มต้นสำหรับ Enum อย่าใช้
MEETING พื้นที่ Meet คือการประชุม
HUDDLE พื้นที่ Meet คือการประชุมย่อย

HuddleStatus

สถานะของการแฮ็กกาธอน

Enum
HUDDLE_STATUS_UNSPECIFIED ค่าเริ่มต้นสำหรับ Enum อย่าใช้
STARTED เริ่มการประชุมสั้นแล้ว
ENDED การประชุมด่วนสิ้นสุดแล้ว ในกรณีนี้ URI และตัวระบุของพื้นที่ทำงานใน Meet จะใช้ไม่ได้อีกต่อไป
MISSED ไม่ได้รับสายการประชุมสั้น ในกรณีนี้ URI และตัวระบุของพื้นที่ทำงานใน Meet จะใช้ไม่ได้อีกต่อไป

CalendarEventLinkData

ข้อมูลสำหรับลิงก์กิจกรรมในปฏิทิน

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

string

ตัวระบุปฏิทินของปฏิทินที่ลิงก์

eventId

string

ตัวระบุเหตุการณ์ของกิจกรรมในปฏิทินที่ลิงก์

CustomEmojiMetadata

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

การแสดง JSON
{
  "customEmoji": {
    object (CustomEmoji)
  }
}
ช่อง
customEmoji

object (CustomEmoji)

อีโมจิที่กำหนดเอง

ชุดข้อความ

ชุดข้อความในพื้นที่ใน Google Chat ดูตัวอย่างการใช้งานได้ที่เริ่มหรือตอบกลับชุดข้อความ

หากระบุชุดข้อความเมื่อสร้างข้อความ คุณจะตั้งค่าฟิลด์ messageReplyOption เพื่อกำหนดสิ่งที่เกิดขึ้นหากไม่พบชุดข้อความที่ตรงกันได้

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

string

ตัวระบุ ชื่อทรัพยากรของเธรด

ตัวอย่าง: spaces/{space}/threads/{thread}

threadKey

string

ไม่บังคับ ข้อมูลสำหรับการสร้างหรืออัปเดตเธรด หรือหากมีการตั้งค่า ระบบจะแสดงเอาต์พุตเท่านั้น รหัสของชุดข้อความ รองรับอักขระสูงสุด 4,000 ตัว

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

ActionResponse

พารามิเตอร์ที่แอป Chat ใช้กำหนดค่าวิธีโพสต์คำตอบ

การแสดง JSON
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
ช่อง
type

enum (ResponseType)

อินพุตเท่านั้น ประเภทการตอบกลับของแอป Chat

url

string

อินพุตเท่านั้น URL สำหรับให้ผู้ใช้ตรวจสอบสิทธิ์หรือกำหนดค่า (สำหรับประเภทการตอบกลับ REQUEST_CONFIG เท่านั้น)

dialogAction

object (DialogAction)

อินพุตเท่านั้น การตอบกลับเหตุการณ์การโต้ตอบที่เกี่ยวข้องกับกล่องโต้ตอบ ต้องมี ResponseType.Dialog ประกอบ

updatedWidget

object (UpdatedWidget)

อินพุตเท่านั้น การตอบกลับของวิดเจ็ตที่อัปเดต

ResponseType

ประเภทการตอบกลับของแอป Chat

Enum
TYPE_UNSPECIFIED ประเภทเริ่มต้นที่จัดการเป็น NEW_MESSAGE
NEW_MESSAGE โพสต์เป็นข้อความใหม่ในหัวข้อ
UPDATE_MESSAGE อัปเดตข้อความของแอป Chat ซึ่งจะได้รับอนุญาตในCARD_CLICKEDเหตุการณ์ที่ประเภทผู้ส่งข้อความเป็นBOTเท่านั้น
UPDATE_USER_MESSAGE_CARDS อัปเดตการ์ดในข้อความของผู้ใช้ อนุญาตให้ใช้ได้เฉพาะในการตอบกลับMESSAGEเหตุการณ์ที่มี URL ที่ตรงกัน หรือCARD_CLICKEDเหตุการณ์ที่ประเภทผู้ส่งข้อความเป็นHUMAN ระบบจะไม่สนใจข้อความ
REQUEST_CONFIG ขอให้ผู้ใช้ทำการตรวจสอบสิทธิ์หรือกำหนดค่าเพิ่มเติมแบบส่วนตัว
DIALOG แสดงกล่องโต้ตอบ
UPDATE_WIDGET คำค้นหาตัวเลือกการเติมข้อความอัตโนมัติของข้อความวิดเจ็ต

DialogAction

มีกล่องโต้ตอบและรหัสสถานะคำขอ

การแสดง JSON
{
  "actionStatus": {
    object (ActionStatus)
  },

  // Union field action can be only one of the following:
  "dialog": {
    object (Dialog)
  }
  // End of list of possible types for union field action.
}
ช่อง
actionStatus

object (ActionStatus)

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

ฟิลด์ Union action การดำเนินการที่จะทำ action ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
dialog

object (Dialog)

อินพุตเท่านั้น กล่องโต้ตอบสำหรับคำขอ

Dialog

Wrapper รอบเนื้อหาของการ์ดของกล่องโต้ตอบ

การแสดง JSON
{
  "body": {
    object (Card)
  }
}
ช่อง
body

object (Card)

อินพุตเท่านั้น เนื้อหาของกล่องโต้ตอบซึ่งแสดงในโมดอล แอป Google Chat ไม่รองรับเอนทิตีการ์ดต่อไปนี้ DateTimePicker, OnChangeAction

ActionStatus

แสดงสถานะของคำขอเพื่อเรียกใช้หรือส่งกล่องโต้ตอบ

การแสดง JSON
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
ช่อง
statusCode

enum (Code)

รหัสสถานะ

userFacingMessage

string

ข้อความที่จะส่งให้ผู้ใช้เกี่ยวกับสถานะคำขอ หากไม่ได้ตั้งค่าไว้ ระบบจะส่งข้อความทั่วไปตาม statusCode

รหัส

รหัสข้อผิดพลาด Canonical สำหรับ gRPC API

บางครั้งอาจมีรหัสข้อผิดพลาดหลายรายการที่เกี่ยวข้อง บริการควรแสดงรหัสข้อผิดพลาดที่เฉพาะเจาะจงที่สุดที่เกี่ยวข้อง เช่น ให้ใช้รหัส OUT_OF_RANGE แทน FAILED_PRECONDITION หากใช้ได้ทั้ง 2 รหัส ในทำนองเดียวกัน ให้เลือก NOT_FOUND หรือ ALREADY_EXISTS แทน FAILED_PRECONDITION

Enum
OK

ไม่ใช่ข้อผิดพลาด แต่จะแสดงผลเมื่อสำเร็จ

การแมป HTTP: 200 OK

CANCELLED

การดำเนินการถูกยกเลิก โดยปกติแล้วผู้โทรจะเป็นผู้ยกเลิก

การแมป HTTP: 499 คำขอที่ไคลเอ็นต์ปิดการเชื่อมต่อ

UNKNOWN

ข้อผิดพลาดที่ไม่รู้จัก เช่น ข้อผิดพลาดนี้อาจแสดงขึ้นเมื่อค่า Status ที่ได้รับจากพื้นที่ที่อยู่อื่นเป็นของพื้นที่ข้อผิดพลาดที่ไม่รู้จักในพื้นที่ที่อยู่นี้ นอกจากนี้ ข้อผิดพลาดที่ API สร้างขึ้นซึ่งไม่ได้ส่งข้อมูลข้อผิดพลาดเพียงพออาจแปลงเป็นข้อผิดพลาดนี้

การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์

INVALID_ARGUMENT

ไคลเอ็นต์ระบุอาร์กิวเมนต์ไม่ถูกต้อง โปรดทราบว่าสิ่งนี้แตกต่างจาก FAILED_PRECONDITION INVALID_ARGUMENT ระบุอาร์กิวเมนต์ที่มีปัญหาไม่ว่าสถานะของระบบจะเป็นอย่างไร (เช่น ชื่อไฟล์ที่มีรูปแบบไม่ถูกต้อง)

การแมป HTTP: 400 คำขอไม่ถูกต้อง

DEADLINE_EXCEEDED

กำหนดเวลาหมดอายุก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ระบบอาจแสดงข้อผิดพลาดนี้แม้ว่าการดำเนินการจะเสร็จสมบูรณ์แล้วก็ตาม เช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจล่าช้าจนถึงกำหนดเวลา

การแมป HTTP: 504 เกตเวย์หมดเวลา

NOT_FOUND

ไม่พบเอนทิตีที่ขอ (เช่น ไฟล์หรือไดเรกทอรี)

หมายเหตุสำหรับนักพัฒนาเซิร์ฟเวอร์: หากคำขอถูกปฏิเสธสำหรับผู้ใช้ทั้งกลุ่ม เช่น การเปิดตัวฟีเจอร์แบบค่อยเป็นค่อยไปหรือรายการที่อนุญาตที่ไม่มีในเอกสาร NOT_FOUND อาจใช้ได้ หากระบบปฏิเสธคำขอสำหรับผู้ใช้บางรายในกลุ่มผู้ใช้ เช่น การควบคุมการเข้าถึงตามผู้ใช้ คุณต้องใช้ PERMISSION_DENIED

การแมป HTTP: 404 ไม่พบ

ALREADY_EXISTS

มีเอนทิตีที่ไคลเอ็นต์พยายามสร้างอยู่แล้ว (เช่น ไฟล์หรือไดเรกทอรี)

การแมป HTTP: 409 เกิดความขัดแย้ง

PERMISSION_DENIED

ผู้โทรไม่มีสิทธิ์ดำเนินการที่ระบุ PERMISSION_DENIED ต้องไม่ใช้สำหรับการปฏิเสธที่เกิดจากการใช้ทรัพยากรบางอย่างจนหมด (ใช้ RESOURCE_EXHAUSTED แทนสำหรับข้อผิดพลาดเหล่านั้น) ห้ามใช้ PERMISSION_DENIED หากระบุผู้โทรไม่ได้ (ใช้ UNAUTHENTICATED แทนสำหรับข้อผิดพลาดเหล่านั้น) รหัสข้อผิดพลาดนี้ไม่ได้หมายความว่าคำขอถูกต้องหรือเอนทิตีที่ขอมีอยู่จริงหรือเป็นไปตามเงื่อนไขเบื้องต้นอื่นๆ

การแมป HTTP: 403 Forbidden

UNAUTHENTICATED

คำขอไม่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับการดำเนินการ

การแมป HTTP: 401 ไม่ได้รับอนุญาต

RESOURCE_EXHAUSTED

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

การแมป HTTP: 429 มีคำขอมากเกินไป

FAILED_PRECONDITION

ระบบปฏิเสธการดำเนินการเนื่องจากระบบไม่อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการ เช่น ไดเรกทอรีที่จะลบไม่ใช่ไดเรกทอรีว่าง มีการดำเนินการ rmdir กับรายการที่ไม่ใช่ไดเรกทอรี เป็นต้น

ผู้ใช้บริการสามารถใช้หลักเกณฑ์ต่อไปนี้เพื่อเลือกระหว่าง FAILED_PRECONDITION, ABORTED และ UNAVAILABLE ได้ (ก) ใช้ UNAVAILABLE หากไคลเอ็นต์ลองโทรซ้ำเฉพาะการโทรที่ไม่สำเร็จได้ (ข) ใช้ ABORTED หากไคลเอ็นต์ควรลองอีกครั้งในระดับที่สูงขึ้น เช่น เมื่อการทดสอบและตั้งค่าที่ไคลเอ็นต์ระบุล้มเหลว ซึ่งบ่งบอกว่าไคลเอ็นต์ควรเริ่มลำดับการอ่าน-แก้ไข-เขียนใหม่ (ค) ใช้ FAILED_PRECONDITION หากไคลเอ็นต์ไม่ควรลองอีกครั้งจนกว่าจะมีการแก้ไขสถานะระบบอย่างชัดเจน เช่น หาก "rmdir" ล้มเหลวเนื่องจากไดเรกทอรีไม่ว่าง ควรแสดงผล FAILED_PRECONDITION เนื่องจากไคลเอ็นต์ไม่ควรรีลองจนกว่าจะลบไฟล์ออกจากไดเรกทอรี

การแมป HTTP: 400 คำขอไม่ถูกต้อง

ABORTED

การดำเนินการถูกยกเลิก โดยปกติแล้วเกิดจากปัญหาการทำงานพร้อมกัน เช่น การตรวจสอบลำดับไม่สำเร็จหรือการยกเลิกธุรกรรม

ดูหลักเกณฑ์ด้านบนเพื่อเลือกระหว่าง FAILED_PRECONDITION, ABORTED และ UNAVAILABLE

การแมป HTTP: 409 เกิดความขัดแย้ง

OUT_OF_RANGE

พยายามดำเนินการนอกช่วงที่ถูกต้อง เช่น การค้นหาหรือการอ่านที่เกินจุดสิ้นสุดของไฟล์

ข้อผิดพลาดนี้แตกต่างจาก INVALID_ARGUMENT ตรงที่บ่งชี้ถึงปัญหาที่อาจแก้ไขได้หากสถานะของระบบเปลี่ยนแปลง ตัวอย่างเช่น ระบบไฟล์ 32 บิตจะสร้าง INVALID_ARGUMENT หากมีการขอให้อ่านที่ออฟเซ็ตที่ไม่อยู่ในช่วง [0,2^32-1] แต่จะสร้าง OUT_OF_RANGE หากมีการขอให้อ่านจากออฟเซ็ตที่เกินขนาดไฟล์ปัจจุบัน

FAILED_PRECONDITION และ OUT_OF_RANGE มีความทับซ้อนกันอยู่พอสมควร เราขอแนะนำให้ใช้ OUT_OF_RANGE (ข้อผิดพลาดที่เฉพาะเจาะจงมากขึ้น) เมื่อเกี่ยวข้อง เพื่อให้ผู้โทรที่วนซ้ำในพื้นที่ค้นหาข้อผิดพลาด OUT_OF_RANGE ได้ง่ายๆ เพื่อตรวจหาว่าดำเนินการเสร็จแล้วเมื่อใด

การแมป HTTP: 400 คำขอไม่ถูกต้อง

UNIMPLEMENTED

การดำเนินการนี้ยังไม่เสร็จสิ้นหรือไม่รองรับ/เปิดใช้ในบริการนี้

การแมป HTTP: 501 ไม่มีการใช้งาน

INTERNAL

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

การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์

UNAVAILABLE

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

ดูหลักเกณฑ์ด้านบนเพื่อเลือกระหว่าง FAILED_PRECONDITION, ABORTED และ UNAVAILABLE

การแมป HTTP: 503 ไม่พร้อมให้บริการ

DATA_LOSS

ข้อมูลสูญหายโดยกู้คืนไม่ได้หรือข้อมูลเสียหาย

การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์

UpdatedWidget

สำหรับวิดเจ็ต selectionInput จะแสดงคำแนะนำการเติมข้อความอัตโนมัติสำหรับการคืนค่าสำหรับเมนูแบบเลือกหลายรายการ

การแสดง JSON
{
  "widget": string,

  // Union field updated_widget can be only one of the following:
  "suggestions": {
    object (SelectionItems)
  }
  // End of list of possible types for union field updated_widget.
}
ช่อง
widget

string

รหัสของวิดเจ็ตที่อัปเดต รหัสต้องตรงกับรหัสของวิดเจ็ตที่ทริกเกอร์คำขออัปเดต

ฟิลด์ Union updated_widget วิดเจ็ตอัปเดตเพื่อตอบสนองต่อการกระทำของผู้ใช้ updated_widget ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
suggestions

object (SelectionItems)

รายการผลการเติมข้อความอัตโนมัติของวิดเจ็ต

SelectionItems

รายการผลการเติมข้อความอัตโนมัติของวิดเจ็ต

การแสดง JSON
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
ช่อง
items[]

object (SelectionItem)

อาร์เรย์ของออบเจ็กต์ SelectionItem

SlashCommand

ข้อมูลเมตาเกี่ยวกับคำสั่งเครื่องหมายทับใน Google Chat

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

string (int64 format)

รหัสของคำสั่งเครื่องหมายทับ

MatchedUrl

URL ที่ตรงกันในข้อความ Chat แอปแชทสามารถแสดงตัวอย่าง URL ที่ตรงกันได้ ดูข้อมูลเพิ่มเติมได้ที่แสดงตัวอย่างลิงก์

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

string

เอาต์พุตเท่านั้น URL ที่ตรงกัน

EmojiReactionSummary

จำนวนผู้ที่รีแอ็กต่อข้อความด้วยอีโมจิที่เฉพาะเจาะจง

การแสดง JSON
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
ช่อง
emoji

object (Emoji)

เอาต์พุตเท่านั้น อีโมจิที่เชื่อมโยงกับรีแอ็กชัน

reactionCount

integer

เอาต์พุตเท่านั้น จำนวนรีแอ็กชันทั้งหมดที่ใช้โดยใช้อีโมจิที่เชื่อมโยง

DeletionMetadata

ข้อมูลเกี่ยวกับข้อความที่ถูกลบ ระบบจะลบข้อความเมื่อตั้งค่า deleteTime

การแสดง JSON
{
  "deletionType": enum (DeletionType)
}
ช่อง
deletionType

enum (DeletionType)

ระบุผู้ที่ลบข้อความ

DeletionType

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

Enum
DELETION_TYPE_UNSPECIFIED ค่านี้ไม่ได้ใช้
CREATOR ผู้ใช้ลบข้อความของตนเอง
SPACE_OWNER ผู้จัดการพื้นที่ทำงานลบข้อความ
ADMIN ผู้ดูแลระบบ Google Workspace ลบข้อความ ผู้ดูแลระบบสามารถลบข้อความใดก็ได้ในพื้นที่ทำงาน ซึ่งรวมถึงข้อความที่สมาชิกในพื้นที่ทำงานหรือแอป Chat ส่ง
APP_MESSAGE_EXPIRY แอป Chat ลบข้อความของตัวเองเมื่อหมดอายุ
CREATOR_VIA_APP แอป Chat ลบข้อความในนามของผู้สร้าง (โดยใช้การตรวจสอบสิทธิ์ผู้ใช้)
SPACE_OWNER_VIA_APP แอป Chat ลบข้อความในนามของผู้จัดการพื้นที่ทำงาน (โดยใช้การตรวจสอบสิทธิ์ผู้ใช้)
SPACE_MEMBER สมาชิกในพื้นที่ทำงานลบข้อความ ผู้ใช้สามารถลบข้อความที่แอปส่งได้

QuotedMessageMetadata

ข้อมูลเกี่ยวกับข้อความที่ข้อความอื่นอ้างอิง

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

เมื่ออัปเดตข้อความ คุณจะเพิ่มหรือแทนที่ฟิลด์ quotedMessageMetadata ไม่ได้ แต่สามารถนำออกได้

ดูตัวอย่างการใช้งานได้ที่อ้างอิงข้อความอื่น

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

string

ต้องระบุ ชื่อทรัพยากรของข้อความที่อ้างอิง

รูปแบบ: spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

ต้องระบุ การประทับเวลาเมื่อสร้างข้อความที่ยกมาหรือเมื่ออัปเดตข้อความที่ยกมาครั้งล่าสุด

หากมีการแก้ไขข้อความ ให้ใช้ฟิลด์นี้ lastUpdateTime หากไม่เคยแก้ไขข้อความ ให้ใช้ createTime

หาก lastUpdateTime ไม่ตรงกับข้อความที่อ้างอิงเวอร์ชันล่าสุด คำขอจะไม่สำเร็จ

AttachedGif

รูปภาพ GIF ที่ระบุโดย URL

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

string

เอาต์พุตเท่านั้น URL ที่โฮสต์รูปภาพ GIF

AccessoryWidget

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

การแสดง JSON
{

  // Union field action can be only one of the following:
  "buttonList": {
    object (ButtonList)
  }
  // End of list of possible types for union field action.
}
ช่อง
ฟิลด์ Union action ประเภทของการดำเนินการ action ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
buttonList

object (ButtonList)

รายการปุ่ม

เมธอด

create

สร้างข้อความในพื้นที่ใน Google Chat

delete

ลบข้อความ

get

แสดงรายละเอียดเกี่ยวกับข้อความ

list

แสดงข้อความในพื้นที่ทำงานที่ผู้โทรเป็นสมาชิก รวมถึงข้อความจากสมาชิกและพื้นที่ทำงานที่ถูกบล็อก

patch

อัปเดตข้อความ

update

อัปเดตข้อความ