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)
    }
  ],
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ]
}
ช่อง
name

string

ชื่อทรัพยากรในรูปแบบ spaces/*/messages/*

เช่น spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB

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>

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

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

cards[]
(deprecated)

object (Card)

เลิกใช้งานแล้ว: ใช้ cardsV2 แทน

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

cardsV2[]

object (CardWithId)

อาร์เรย์ของการ์ด

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

ดูข้อมูลเกี่ยวกับการ์ดและวิธีสร้างได้ที่หัวข้อออกแบบ UI แบบไดนามิก อินเทอร์แอกทีฟ และมีความสอดคล้องด้วยการ์ด

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

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

emojiReactionSummaries[]

object (EmojiReactionSummary)

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

deletionMetadata

object (DeletionMetadata)

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

quotedMessageMetadata

object (QuotedMessageMetadata)

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

attachedGifs[]

object (AttachedGif)

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

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)
  }
  // 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)

ประเภทของการพูดถึงผู้ใช้

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

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

Type

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

ชุดข้อความ

ชุดข้อความจากพื้นที่ทำงานใน 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 หากรหัสทั้งสองแบบมีผล ใช้ 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 โปรดทราบว่าการลองดำเนินการที่ไม่ใช่แบบกำหนดอีกครั้งอาจไม่ปลอดภัยเสมอไป

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

วิธีการ

create

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

delete

ลบข้อความ

get

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

list

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

patch

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

update

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