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 ตรวจสอบสิทธิ์เป็นผู้ใช้ เอาต์พุตจะป้อนข้อมูลเป็นผู้ใช้ name และ type

createTime

string (Timestamp format)

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

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

lastUpdateTime

string (Timestamp format)

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

deleteTime

string (Timestamp format)

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

text

string

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

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

formattedText

string

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

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

  • ผู้ใช้พูดถึงโดยใช้รูปแบบ <users/{user}>

  • ไฮเปอร์ลิงก์ที่กำหนดเองโดยใช้รูปแบบ <{url}|{rendered_text}> โดยที่สตริงแรกเป็น URL และสตริงที่ 2 เป็นข้อความที่แสดงผล เช่น <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)

เอาต์พุตเท่านั้น คําอธิบายประกอบที่เชื่อมโยงกับ text ในข้อความนี้

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)

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

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

หมายเหตุ

เอาต์พุตเท่านั้น คําอธิบายประกอบที่เชื่อมโยงกับเนื้อหาข้อความธรรมดา หากต้องการเพิ่มการจัดรูปแบบพื้นฐานให้กับข้อความ โปรดดูที่จัดรูปแบบข้อความ

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

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)
  }
  // End of list of possible types for union field metadata.
}
ช่อง
type

enum (AnnotationType)

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

length

integer

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

startIndex

integer

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

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

object (UserMentionMetadata)

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

slashCommand

object (SlashCommandMetadata)

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

AnnotationType

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

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

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

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

commandId

string (int64 format)

รหัสคําสั่งของคําสั่งขีดกลางที่เรียกใช้

triggersDialog

boolean

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

ประเภท

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

RichLinkMetadata

ลิงก์ไปยังแหล่งข้อมูล

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

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

string

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

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

RichLinkType

ประเภทของริชมีเดีย ในอนาคตอาจมีการเพิ่มประเภทอื่นๆ เข้ามา

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

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}

ชุดข้อความ

ชุดข้อความในพื้นที่ใน 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)

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

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

object (Dialog)

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

Dialog

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

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

object (Card)

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

ActionStatus

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

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

enum (Code)

รหัสสถานะ

userFacingMessage

string

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

รหัส

รหัสข้อผิดพลาดตามมาตรฐานสําหรับ 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

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

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

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

DATA_LOSS

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

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

UpdatedWidget

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

การแสดง 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

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

ช่องการรวม 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)

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

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

ใครเป็นผู้ลบข้อความและวิธีการลบ อาจมีการเพิ่มค่าอื่นๆ ในอนาคต

Enum
DELETION_TYPE_UNSPECIFIED ค่านี้ไม่ได้ใช้
CREATOR ผู้ใช้ลบข้อความของตนเองแล้ว
SPACE_OWNER เจ้าของพื้นที่ทำงานลบข้อความแล้ว
ADMIN ผู้ดูแลระบบ Google Workspace ได้ลบข้อความดังกล่าวแล้ว
APP_MESSAGE_EXPIRY แอป Chat ลบข้อความของตัวเองเมื่อข้อความหมดอายุ
CREATOR_VIA_APP แอป Chat ลบข้อความในนามของผู้ใช้
SPACE_OWNER_VIA_APP แอป Chat ลบข้อความในนามของเจ้าของพื้นที่ทำงาน

QuotedMessageMetadata

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

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

string

เอาต์พุตเท่านั้น ชื่อแหล่งข้อมูลของข้อความที่ยกมา

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

lastUpdateTime

string (Timestamp format)

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

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.
}
ช่อง
ฟิลด์สหภาพ action ประเภทการทำงาน action ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
buttonList

object (ButtonList)

รายการปุ่ม

เมธอด

create

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

delete

ลบข้อความ

get

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

list

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

patch

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

update

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