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)

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

เฉพาะแอป 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

หมายเหตุ

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

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

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

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

รหัส

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

สำหรับวิดเจ็ต 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

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

ฟิลด์สหภาพ 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

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