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 หรือทุกคนในพื้นที่ทำงานได้อีกด้วย

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

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 เท่านั้นที่ส่งข้อความส่วนตัวได้ หากแอป Chat ตรวจสอบสิทธิ์ในฐานะผู้ใช้เพื่อส่งข้อความ ข้อความจะไม่เป็นแบบส่วนตัวและต้องไม่มีช่องนี้

โปรดดูรายละเอียดที่หัวข้อส่งข้อความส่วนตัวไปยังผู้ใช้ Google Chat

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 รวม) ในเนื้อหาข้อความข้อความธรรมดาที่สอดคล้องกับคำอธิบายประกอบนี้

ฟิลด์การรวม 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 หากลูกค้าควรลองอีกครั้งในระดับที่สูงกว่า ตัวอย่างเช่น เมื่อการทดสอบและชุดที่ระบุโดยไคลเอ็นต์ล้มเหลว หมายความว่าไคลเอ็นต์ควรรีสตาร์ทลำดับ Read-modify-write (ค) ใช้ 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

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

ดูหลักเกณฑ์ด้านบนเพื่อตัดสินใจระหว่าง 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)

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

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

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