REST Resource: spaces.messages

Tài nguyên: Thông báo

Một tin nhắn trong phòng Google Chat.

Biểu diễn dưới dạng 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)
    }
  ]
}
Trường
name

string

Tên tài nguyên của thông báo.

Định dạng spaces/{space}/messages/{message}

Trong đó {space} là mã nhận dạng của không gian nơi thông báo được đăng và {message} là mã nhận dạng do hệ thống chỉ định cho thông báo đó. Ví dụ: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.

Nếu đặt mã tuỳ chỉnh khi tạo thông báo, bạn có thể sử dụng mã này để chỉ định thông báo trong yêu cầu bằng cách thay thế {message} bằng giá trị trong trường clientAssignedMessageId. Ví dụ: spaces/AAAAAAAAAAA/messages/client-custom-name. Để biết thông tin chi tiết, hãy xem phần Đặt tên cho thông báo.

sender

object (User)

Chỉ có đầu ra. Người dùng đã tạo thông báo. Nếu ứng dụng Chat xác thực với tư cách là một người dùng, thì dữ liệu đầu ra sẽ được điền cho người dùng nametype.

createTime

string (Timestamp format)

Không bắt buộc. Bất biến. Đối với những không gian được tạo trong Chat, đó là thời điểm tin nhắn được tạo. Trường này chỉ dành cho kết quả đầu ra, trừ phi được dùng trong không gian ở chế độ nhập.

Đối với không gian ở chế độ nhập, hãy đặt trường này thành dấu thời gian trước đây khi thông báo được tạo trong nguồn để duy trì thời gian tạo ban đầu.

lastUpdateTime

string (Timestamp format)

Chỉ có đầu ra. Thời điểm người dùng chỉnh sửa thư gần đây nhất. Nếu thư chưa từng được chỉnh sửa, thì trường này trống.

deleteTime

string (Timestamp format)

Chỉ có đầu ra. Thời điểm tin nhắn bị xoá trong Google Chat. Nếu thư không bao giờ bị xoá, thì trường này trống.

text

string

Nội dung thư bằng văn bản thuần tuý. Đường liên kết đầu tiên đến một hình ảnh, video hoặc trang web sẽ tạo ra một khối xem trước. Bạn cũng có thể đề cập đến một người dùng Google Chat bằng@ hoặc mọi người trong không gian.

Để tìm hiểu về cách tạo tin nhắn văn bản, hãy xem phần Gửi tin nhắn.

formattedText

string

Chỉ có đầu ra. Chứa thông báo text cùng với mã đánh dấu được thêm vào để thể hiện định dạng. Trường này có thể không bao gồm tất cả định dạng hiển thị trong giao diện người dùng, nhưng bao gồm các định dạng sau:

  • Cú pháp đánh dấu để in đậm, in nghiêng, gạch ngang, đơn cách, khối đơn cách và danh sách có dấu đầu dòng.

  • Người dùng đề cập đến bằng định dạng <users/{user}>.

  • Siêu liên kết tuỳ chỉnh sử dụng định dạng <{url}|{rendered_text}>, trong đó chuỗi đầu tiên là URL và chuỗi thứ hai là văn bản được kết xuất, ví dụ: <http://example.com|custom text>.

  • Biểu tượng cảm xúc tuỳ chỉnh ở định dạng :{emojiName}: (ví dụ: :smile:). Điều này không áp dụng cho biểu tượng cảm xúc Unicode, chẳng hạn như U+1F600 cho biểu tượng cảm xúc mặt cười toe toét.

Để biết thêm thông tin, hãy xem phần Xem định dạng văn bản được gửi trong thư

cards[]
(deprecated)

object (Card)

Không dùng nữa: Chuyển sang dùng cardsV2.

Các thẻ có nội dung phong phú, có định dạng và có tính tương tác mà bạn có thể dùng để hiển thị các thành phần trên giao diện người dùng như: văn bản được định dạng, nút và hình ảnh có thể nhấp vào. Thẻ thường xuất hiện bên dưới nội dung văn bản thuần tuý của thư. cardscardsV2 có thể có kích thước tối đa là 32 KB.

cardsV2[]

object (CardWithId)

Một mảng thẻ.

Chỉ các ứng dụng trong Chat mới có thể tạo thẻ. Nếu ứng dụng Chat của bạn xác thực với tư cách là người dùng, thì tin nhắn không được chứa thẻ.

Để tìm hiểu cách tạo tin nhắn chứa thẻ, hãy xem phần Gửi tin nhắn.

Thiết kế và xem trước thẻ bằng Trình tạo thẻ.

Mở Trình tạo thẻ

annotations[]

object (Annotation)

Chỉ có đầu ra. Chú thích liên kết với text trong thông báo này.

thread

object (Thread)

Chuỗi thư chứa thư. Để biết ví dụ về cách sử dụng, hãy xem phần Bắt đầu hoặc trả lời một chuỗi tin nhắn.

space

object (Space)

Nếu ứng dụng Chat xác thực với tư cách người dùng, thì dữ liệu đầu ra sẽ được điền vào không gian name.

fallbackText

string

Nội dung mô tả dưới dạng văn bản thuần tuý về các thẻ của thông báo, được sử dụng khi không thể hiển thị thẻ thực tế (ví dụ: thông báo trên thiết bị di động).

actionResponse

object (ActionResponse)

Chỉ nhập. Các thông số mà ứng dụng Chat có thể dùng để định cấu hình cách đăng câu trả lời.

argumentText

string

Chỉ có đầu ra. Nội dung tin nhắn ở dạng văn bản thuần tuý, trong đó tất cả nội dung đề cập đến trong ứng dụng Chat đều bị loại bỏ.

slashCommand

object (SlashCommand)

Chỉ có đầu ra. Thông tin về lệnh dấu gạch chéo, nếu có.

attachment[]

object (Attachment)

Tệp đính kèm do người dùng tải lên.

matchedUrl

object (MatchedUrl)

Chỉ có đầu ra. URL trong spaces.messages.text khớp với một mẫu xem trước đường liên kết. Để biết thêm thông tin, hãy xem bài viết Xem trước đường liên kết.

threadReply

boolean

Chỉ có đầu ra. Khi true, tin nhắn sẽ là phản hồi trong chuỗi trả lời. Khi false, tin nhắn sẽ xuất hiện trong cuộc trò chuyện cấp cao nhất của không gian dưới dạng tin nhắn đầu tiên trong chuỗi hoặc tin nhắn không có tin nhắn trả lời theo chuỗi.

Nếu không gian không hỗ trợ trả lời trong chuỗi tin nhắn, thì trường này luôn là false.

clientAssignedMessageId

string

Không bắt buộc. Mã tuỳ chỉnh của thư. Bạn có thể sử dụng trường để xác định tin nhắn, hoặc để nhận, xoá hay cập nhật tin nhắn. Để đặt mã tuỳ chỉnh, hãy chỉ định trường messageId khi bạn tạo thông báo. Để biết thông tin chi tiết, hãy xem phần Đặt tên cho thông báo.

emojiReactionSummaries[]

object (EmojiReactionSummary)

Chỉ có đầu ra. Danh sách tóm tắt về biểu tượng cảm xúc trong tin nhắn.

privateMessageViewer

object (User)

Bất biến. Dữ liệu đầu vào để tạo thông báo, nếu không thì chỉ có dữ liệu đầu ra. Người dùng có thể xem thông báo. Khi bạn đặt chính sách này, tin nhắn sẽ ở chế độ riêng tư và chỉ hiển thị với người dùng được chỉ định cũng như ứng dụng Chat. Để đưa trường này vào yêu cầu, bạn phải gọi API Chat bằng cách sử dụng tính năng xác thực ứng dụng và bỏ qua các thuộc tính sau:

Để biết thông tin chi tiết, hãy xem phần Gửi thư ở chế độ riêng tư.

deletionMetadata

object (DeletionMetadata)

Chỉ có đầu ra. Thông tin về một thư đã xoá. Một tin nhắn sẽ bị xoá khi bạn đặt deleteTime.

quotedMessageMetadata

object (QuotedMessageMetadata)

Chỉ có đầu ra. Thông tin về một tin nhắn do một người dùng Google Chat trích dẫn trong một không gian. Người dùng Google Chat có thể trích dẫn một tin nhắn để trả lời.

attachedGifs[]

object (AttachedGif)

Chỉ có đầu ra. Hình ảnh GIF được đính kèm vào thư.

accessoryWidgets[]

object (AccessoryWidget)

Một hoặc nhiều tiện ích tương tác xuất hiện ở cuối thư. Bạn có thể thêm tiện ích phụ kiện vào những tin nhắn chứa văn bản, thẻ hoặc cả văn bản và thẻ. Không hỗ trợ cho các tin nhắn chứa hộp thoại. Để biết thông tin chi tiết, hãy xem phần Thêm tiện ích tương tác ở cuối thư.

Để tạo tin nhắn bằng các tiện ích phụ kiện, bạn cần xác thực ứng dụng.

CardWithId

Một thẻ trong tin nhắn trên Google Chat.

Chỉ các ứng dụng trong Chat mới có thể tạo thẻ. Nếu ứng dụng Chat của bạn xác thực với tư cách là một người dùng, thì tin nhắn không được chứa thẻ.

Thiết kế và xem trước thẻ bằng Trình tạo thẻ.

Mở Trình tạo thẻ

Biểu diễn dưới dạng JSON
{
  "cardId": string,
  "card": {
    object (Card)
  }
}
Trường
cardId

string

Bắt buộc nếu thư chứa nhiều thẻ. Giá trị nhận dạng duy nhất của thẻ trong thông báo.

card

object (Card)

Thẻ. Kích thước tối đa là 32 KB.

Annotation

Chỉ có đầu ra. Các chú thích liên kết với nội dung văn bản thuần tuý của thông báo. Để thêm định dạng cơ bản cho tin nhắn văn bản, hãy xem phần Định dạng tin nhắn văn bản.

Ví dụ về nội dung thư dưới dạng văn bản thuần tuý:

Hello @FooBot how are you!"

Siêu dữ liệu chú thích tương ứng:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
Biểu diễn dưới dạng 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.
}
Trường
type

enum (AnnotationType)

Loại của chú thích này.

length

integer

Độ dài của chuỗi con trong nội dung thông báo dạng văn bản thuần tuý tương ứng với chú thích này.

startIndex

integer

Chỉ mục bắt đầu (dựa trên 0, bao gồm cả 0) trong nội dung thông báo bằng văn bản thuần tuý tương ứng với chú thích này.

Trường kết hợp metadata. Siêu dữ liệu bổ sung về chú thích. metadata chỉ có thể là một trong những trạng thái sau đây:
userMention

object (UserMentionMetadata)

Siêu dữ liệu về lượt đề cập người dùng.

slashCommand

object (SlashCommandMetadata)

Siêu dữ liệu cho lệnh dấu gạch chéo.

AnnotationType

Loại chú thích.

Enum
ANNOTATION_TYPE_UNSPECIFIED Giá trị mặc định của enum. Không sử dụng.
USER_MENTION Một người dùng được đề cập.
SLASH_COMMAND Lệnh dấu gạch chéo được gọi.

UserMentionMetadata

Siêu dữ liệu chú thích cho lượt đề cập của người dùng (@).

Biểu diễn dưới dạng JSON
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
Trường
user

object (User)

Người dùng đề cập.

type

enum (Type)

Loại nội dung đề cập đến người dùng.

Loại

Enum
TYPE_UNSPECIFIED Giá trị mặc định của enum. Không sử dụng.
ADD Thêm người dùng vào không gian.
MENTION Đề cập đến người dùng trong không gian.

SlashCommandMetadata

Siêu dữ liệu chú thích cho lệnh dấu gạch chéo (/).

Biểu diễn dưới dạng JSON
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
Trường
bot

object (User)

Ứng dụng Chat có lệnh đã được gọi.

type

enum (Type)

Loại lệnh dấu gạch chéo.

commandName

string

Tên của lệnh dấu gạch chéo được gọi.

commandId

string (int64 format)

Mã lệnh của lệnh dấu gạch chéo đã gọi.

triggersDialog

boolean

Cho biết lệnh dấu gạch chéo có dành cho hộp thoại hay không.

Loại

Enum
TYPE_UNSPECIFIED Giá trị mặc định của enum. Không sử dụng.
ADD Thêm ứng dụng Chat vào không gian.
INVOKE Gọi lệnh dấu gạch chéo trong không gian.

RichLinkMetadata

Đường liên kết đa dạng thức đến một tài nguyên.

Biểu diễn dưới dạng 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.
}
Trường
uri

string

URI của đường liên kết này.

Trường kết hợp data. Dữ liệu cho tài nguyên được liên kết. data chỉ có thể là một trong những trạng thái sau đây:

RichLinkType

Loại đường liên kết đa dạng thức. Trong tương lai, chúng tôi có thể sẽ thêm các loại khác.

Enum
DRIVE_FILE Loại đường liên kết đa dạng thức trên Google Drive.
CHAT_SPACE Loại đường liên kết đa dạng thức của phòng Chat. Ví dụ: khối thông minh là không gian.

DriveLinkData

Dữ liệu cho các đường liên kết đến Google Drive.

Biểu diễn dưới dạng JSON
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
Trường
driveDataRef

object (DriveDataRef)

DriveDataRef tham chiếu đến một tệp trên Google Drive.

mimeType

string

Loại mime của tài nguyên Google Drive được liên kết.

ChatSpaceLinkData

Dữ liệu của các đường liên kết đến phòng Chat.

Biểu diễn dưới dạng JSON
{
  "space": string,
  "thread": string,
  "message": string
}
Trường
space

string

Không gian của tài nguyên phòng Chat được liên kết.

Định dạng spaces/{space}

thread

string

Luồng của tài nguyên phòng Chat được liên kết.

Định dạng spaces/{space}/threads/{thread}

message

string

Tin nhắn của tài nguyên trong phòng Chat được liên kết.

Định dạng spaces/{space}/messages/{message}

Chuỗi hội thoại

Một chuỗi cuộc trò chuyện trong phòng Google Chat. Để biết ví dụ về cách sử dụng, hãy xem phần Bắt đầu hoặc trả lời một chuỗi tin nhắn.

Nếu chỉ định một chuỗi khi tạo thông báo, thì bạn có thể đặt trường messageReplyOption để xác định việc sẽ xảy ra nếu không tìm thấy chuỗi nào trùng khớp.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "threadKey": string
}
Trường
name

string

Tên tài nguyên của luồng.

Ví dụ: spaces/{space}/threads/{thread}

threadKey

string

Không bắt buộc. Thông tin đầu vào để tạo hoặc cập nhật một chuỗi tin nhắn. Nếu không, chỉ có thể xuất đầu ra. Mã nhận dạng của chuỗi. Hỗ trợ lên đến 4.000 ký tự.

Đây là mã nhận dạng duy nhất của ứng dụng Chat đặt ra mã này. Ví dụ: nếu nhiều ứng dụng trong Chat tạo tin nhắn bằng cùng một khoá chuỗi tin nhắn, thì tin nhắn đó sẽ được đăng trong nhiều chuỗi tin nhắn. Để trả lời trong chuỗi tin nhắn do người dùng hoặc một ứng dụng khác trong Chat tạo, hãy chỉ định trường name của chuỗi tin nhắn.

ActionResponse

Các thông số mà ứng dụng Chat có thể dùng để định cấu hình cách đăng câu trả lời.

Biểu diễn dưới dạng JSON
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
Trường
type

enum (ResponseType)

Chỉ nhập. Loại phản hồi của ứng dụng trong Chat.

url

string

Chỉ nhập. URL để người dùng xác thực hoặc định cấu hình. (Chỉ dành cho REQUEST_CONFIG loại phản hồi.)

dialogAction

object (DialogAction)

Chỉ nhập. Phản hồi cho một sự kiện tương tác liên quan đến hộp thoại. Phải kèm theo ResponseType.Dialog.

updatedWidget

object (UpdatedWidget)

Chỉ nhập. Phản hồi của tiện ích đã cập nhật.

ResponseType

Loại phản hồi của ứng dụng trong Chat.

Enum
TYPE_UNSPECIFIED Loại mặc định được xử lý là NEW_MESSAGE.
NEW_MESSAGE Đăng dưới dạng tin nhắn mới trong chủ đề.
UPDATE_MESSAGE Cập nhật tin nhắn của ứng dụng Chat. Điều này chỉ được phép trên sự kiện CARD_CLICKED khi loại người gửi thư là BOT.
UPDATE_USER_MESSAGE_CARDS Cập nhật các thẻ trên tin nhắn của người dùng. Điều này chỉ được phép dùng làm phản hồi cho sự kiện MESSAGE có URL khớp hoặc sự kiện CARD_CLICKED trong đó loại người gửi thư là HUMAN. Bỏ qua văn bản.
REQUEST_CONFIG Yêu cầu riêng tư người dùng xác thực hoặc định cấu hình bổ sung.
DIALOG Trình bày một hộp thoại.
UPDATE_WIDGET Truy vấn của các lựa chọn tự động hoàn thành văn bản trong tiện ích.

DialogAction

Chứa hộp thoại và yêu cầu mã trạng thái.

Biểu diễn dưới dạng 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.
}
Trường
actionStatus

object (ActionStatus)

Chỉ nhập. Trạng thái của một yêu cầu gọi hoặc gửi hộp thoại. Hiện trạng thái và thông báo cho người dùng nếu cần. Ví dụ: trong trường hợp lỗi hoặc thành công.

Trường kết hợp action. Hành động cần thực hiện. action chỉ có thể là một trong những trạng thái sau đây:
dialog

object (Dialog)

Chỉ nhập. Hộp thoại cho yêu cầu.

Hộp thoại

Xuống dòng bao quanh phần thân thẻ của hộp thoại.

Biểu diễn dưới dạng JSON
{
  "body": {
    object (Card)
  }
}
Trường
body

object (Card)

Chỉ nhập. Nội dung của hộp thoại, được hiển thị theo phương thức. Ứng dụng Google Chat không hỗ trợ các thực thể thẻ sau: DateTimePicker, OnChangeAction.

ActionStatus

Biểu thị trạng thái của một yêu cầu gọi hoặc gửi hộp thoại.

Biểu diễn dưới dạng JSON
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
Trường
statusCode

enum (Code)

Mã trạng thái.

userFacingMessage

string

Thông báo gửi cho người dùng về trạng thái yêu cầu của họ. Nếu bạn không đặt chính sách này, một thông báo chung dựa trên statusCode sẽ được gửi.

Mã lỗi chính tắc cho API gRPC.

Đôi khi, có thể có nhiều mã lỗi. Dịch vụ phải trả về mã lỗi cụ thể nhất được áp dụng. Ví dụ: ưu tiên OUT_OF_RANGE hơn FAILED_PRECONDITION nếu áp dụng cả hai mã. Tương tự, hãy ưu tiên NOT_FOUND hoặc ALREADY_EXISTS hơn FAILED_PRECONDITION.

Enum
OK

Không phải là lỗi; được trả về khi thành công.

Ánh xạ HTTP: 200 OK

CANCELLED

Thao tác đã bị huỷ, thường là do phương thức gọi.

Ánh xạ HTTP: Yêu cầu đã đóng ứng dụng 499

UNKNOWN

Lỗi không xác định. Ví dụ: lỗi này có thể được trả về khi giá trị Status nhận được từ một không gian địa chỉ khác thuộc về một không gian lỗi chưa được xác định trong không gian địa chỉ này. Ngoài ra, lỗi do những API không trả về đủ thông tin lỗi có thể được chuyển đổi thành lỗi này.

Ánh xạ HTTP: Lỗi máy chủ nội bộ 500

INVALID_ARGUMENT

Khách hàng đã chỉ định một đối số không hợp lệ. Xin lưu ý rằng thuộc tính này khác với FAILED_PRECONDITION. INVALID_ARGUMENT cho biết các đối số có vấn đề bất kể trạng thái của hệ thống (ví dụ: tên tệp không đúng định dạng).

Ánh xạ HTTP: Yêu cầu không hợp lệ 400

DEADLINE_EXCEEDED

Đã hết thời hạn trước khi thao tác có thể hoàn tất. Đối với những hoạt động thay đổi trạng thái của hệ thống, lỗi này có thể được trả về ngay cả khi thao tác đã hoàn tất thành công. Ví dụ: một phản hồi thành công từ máy chủ có thể bị trì hoãn đủ lâu đến thời hạn.

Ánh xạ HTTP: Hết thời gian chờ của cổng vào 504

NOT_FOUND

Không tìm thấy một số đối tượng được yêu cầu (ví dụ: tệp hoặc thư mục).

Lưu ý cho các nhà phát triển máy chủ: nếu yêu cầu bị từ chối đối với toàn bộ một nhóm người dùng, chẳng hạn như triển khai tính năng dần dần hoặc danh sách cho phép không được ghi nhận, thì NOT_FOUND có thể được sử dụng. Nếu yêu cầu bị từ chối đối với một số người dùng trong một lớp người dùng, chẳng hạn như kiểm soát quyền truy cập dựa trên người dùng, thì bạn phải sử dụng PERMISSION_DENIED.

Ánh xạ HTTP: Không tìm thấy 404

ALREADY_EXISTS

Mục mà ứng dụng khách cố gắng tạo (ví dụ: tệp hoặc thư mục) đã tồn tại.

Ánh xạ HTTP: Xung đột 409

PERMISSION_DENIED

Phương thức gọi không có quyền thực thi thao tác đã chỉ định. Không được sử dụng PERMISSION_DENIED cho các trường hợp bị từ chối do làm cạn kiệt tài nguyên (hãy dùng RESOURCE_EXHAUSTED thay cho các lỗi đó). Không được sử dụng PERMISSION_DENIED nếu không thể xác định phương thức gọi (hãy dùng UNAUTHENTICATED để khắc phục những lỗi đó). Mã lỗi này không ngụ ý rằng yêu cầu đó hợp lệ, hoặc pháp nhân được yêu cầu tồn tại hay đáp ứng các điều kiện tiên quyết khác.

Ánh xạ HTTP: 403 bị cấm

UNAUTHENTICATED

Yêu cầu không có thông tin xác thực hợp lệ cho thao tác này.

Ánh xạ HTTP: 401 Không được phép

RESOURCE_EXHAUSTED

Một số tài nguyên đã hết, có thể là hạn mức cho mỗi người dùng, hoặc có thể toàn bộ hệ thống tệp hết dung lượng.

Ánh xạ HTTP: 429 Quá nhiều yêu cầu

FAILED_PRECONDITION

Thao tác đã bị từ chối vì hệ thống không ở trạng thái cần thiết để thực thi thao tác. Ví dụ: thư mục cần xoá không phải thư mục trống, thao tác rmdir được áp dụng cho một thư mục không phải thư mục, v.v.

Trình triển khai dịch vụ có thể dựa vào những nguyên tắc sau để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE: (a) Sử dụng UNAVAILABLE nếu ứng dụng chỉ có thể thử lại lệnh gọi không thành công. (b) Sử dụng ABORTED nếu khách hàng thử lại ở cấp cao hơn. Ví dụ: khi một chương trình kiểm thử và tập hợp do ứng dụng chỉ định không thành công, cho biết ứng dụng cần khởi động lại trình tự đọc-sửa đổi-ghi. (c) Sử dụng FAILED_PRECONDITION nếu máy khách không nên thử lại cho đến khi trạng thái hệ thống được khắc phục một cách rõ ràng. Ví dụ: nếu "rmdir" không thành công vì thư mục này không phải là thư mục trống, nên trả về FAILED_PRECONDITION vì ứng dụng không nên thử lại trừ khi các tệp bị xoá khỏi thư mục.

Ánh xạ HTTP: Yêu cầu không hợp lệ 400

ABORTED

Thao tác đã bị huỷ, thường là do sự cố đồng thời, chẳng hạn như lỗi kiểm tra trình tự hoặc huỷ giao dịch.

Hãy xem các nguyên tắc ở trên để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE.

Ánh xạ HTTP: Xung đột 409

OUT_OF_RANGE

Thao tác đã được thực hiện quá phạm vi hợp lệ. Ví dụ: tìm kiếm hoặc đọc phần cuối tệp trong quá khứ.

Không giống như INVALID_ARGUMENT, lỗi này cho biết một vấn đề có thể được khắc phục nếu trạng thái hệ thống thay đổi. Ví dụ: hệ thống tệp 32 bit sẽ tạo INVALID_ARGUMENT nếu được yêu cầu đọc ở một giá trị bù không nằm trong phạm vi [0,2^32-1], nhưng hệ thống sẽ tạo OUT_OF_RANGE nếu được yêu cầu đọc từ một giá trị bù trừ vượt quá kích thước tệp hiện tại.

Có một chút trùng lặp giữa FAILED_PRECONDITIONOUT_OF_RANGE. Bạn nên sử dụng OUT_OF_RANGE (lỗi cụ thể hơn) khi áp dụng lỗi này để những phương thức gọi đang lặp lại qua một không gian có thể dễ dàng tìm lỗi OUT_OF_RANGE nhằm phát hiện thời điểm hoàn tất.

Ánh xạ HTTP: Yêu cầu không hợp lệ 400

UNIMPLEMENTED

Thao tác không được triển khai hoặc không được hỗ trợ/bật trong dịch vụ này.

Ánh xạ HTTP: 501 Chưa được triển khai

INTERNAL

Lỗi nội bộ. Tức là một số giá trị bất biến mà hệ thống cơ bản dự kiến đã bị hỏng. Mã lỗi này dành riêng cho các lỗi nghiêm trọng.

Ánh xạ HTTP: Lỗi máy chủ nội bộ 500

UNAVAILABLE

Dịch vụ này hiện không dùng được. Đây rất có thể là một tình trạng tạm thời, có thể khắc phục được bằng cách thử lại bằng thuật toán thời gian đợi. Lưu ý rằng không phải lúc nào bạn cũng có thể thử lại các thao tác không hoạt động bất biến.

Hãy xem các nguyên tắc ở trên để quyết định giữa FAILED_PRECONDITION, ABORTEDUNAVAILABLE.

Ánh xạ HTTP: Dịch vụ 503 không có sẵn

DATA_LOSS

Dữ liệu bị mất hoặc không khôi phục được.

Ánh xạ HTTP: Lỗi máy chủ nội bộ 500

UpdatedWidget

Phản hồi của tiện ích đã cập nhật. Dùng để cung cấp các lựa chọn tự động hoàn thành cho một tiện ích.

Biểu diễn dưới dạng 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.
}
Trường
widget

string

Mã của tiện ích đã cập nhật. Mã này phải khớp với mã của tiện ích đã kích hoạt yêu cầu cập nhật.

Trường kết hợp updated_widget. Tiện ích này được cập nhật theo hành động của người dùng. updated_widget chỉ có thể là một trong những trạng thái sau đây:
suggestions

object (SelectionItems)

Danh sách kết quả tự động hoàn thành tiện ích

SelectionItems

Danh sách kết quả tự động hoàn thành tiện ích.

Biểu diễn dưới dạng JSON
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
Trường
items[]

object (SelectionItem)

Một mảng gồm các đối tượng SelectionItem.

SlashCommand

Lệnh gạch chéo trong Google Chat.

Biểu diễn dưới dạng JSON
{
  "commandId": string
}
Trường
commandId

string (int64 format)

Mã của lệnh dấu gạch chéo đã được gọi ra.

MatchedUrl

URL trùng khớp trong một tin nhắn trên Chat. Các ứng dụng nhắn tin có thể xem trước URL đã khớp. Để biết thêm thông tin, hãy xem bài viết Xem trước đường liên kết.

Biểu diễn dưới dạng JSON
{
  "url": string
}
Trường
url

string

Chỉ có đầu ra. URL được so khớp.

EmojiReactionSummary

Số người đã thể hiện cảm xúc với một tin nhắn bằng một biểu tượng cảm xúc cụ thể.

Biểu diễn dưới dạng JSON
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
Trường
emoji

object (Emoji)

Biểu tượng cảm xúc liên kết với các lượt bày tỏ cảm xúc.

reactionCount

integer

Tổng số lượt thể hiện cảm xúc bằng biểu tượng cảm xúc được liên kết.

DeletionMetadata

Thông tin về một thư đã xoá. Một tin nhắn sẽ bị xoá khi bạn đặt deleteTime.

Biểu diễn dưới dạng JSON
{
  "deletionType": enum (DeletionType)
}
Trường
deletionType

enum (DeletionType)

Cho biết ai đã xoá tin nhắn.

DeletionType

Ai đã xoá tin nhắn và cách tin nhắn bị xoá.

Enum
DELETION_TYPE_UNSPECIFIED Giá trị này chưa được sử dụng.
CREATOR Người dùng đã xoá tin nhắn của chính họ.
SPACE_OWNER Chủ sở hữu không gian đã xoá tin nhắn này.
ADMIN Một quản trị viên Google Workspace đã xoá tin nhắn này.
APP_MESSAGE_EXPIRY Một ứng dụng Chat đã xoá tin nhắn của chính mình khi tin nhắn đó hết hạn.
CREATOR_VIA_APP Một ứng dụng Chat đã thay mặt người dùng xoá tin nhắn.
SPACE_OWNER_VIA_APP Một ứng dụng Chat đã xoá tin nhắn này thay mặt cho chủ sở hữu không gian.

QuotedMessageMetadata

Thông tin về tin nhắn được trích dẫn.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "lastUpdateTime": string
}
Trường
name

string

Chỉ có đầu ra. Tên tài nguyên của tin nhắn được trích dẫn.

Định dạng spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

Chỉ có đầu ra. Dấu thời gian khi tin nhắn được trích dẫn được tạo hoặc thời điểm tin nhắn được trích dẫn được cập nhật lần gần đây nhất.

AttachedGif

Hình ảnh GIF do URL chỉ định.

Biểu diễn dưới dạng JSON
{
  "uri": string
}
Trường
uri

string

Chỉ có đầu ra. URL lưu trữ hình ảnh GIF.

AccessoryWidget

Một hoặc nhiều tiện ích tương tác xuất hiện ở cuối thư. Để biết thông tin chi tiết, hãy xem phần Thêm tiện ích tương tác ở cuối thư.

Biểu diễn dưới dạng JSON
{

  // Union field action can be only one of the following:
  "buttonList": {
    object (ButtonList)
  }
  // End of list of possible types for union field action.
}
Trường
Trường kết hợp action. Loại hành động. action chỉ có thể là một trong những trạng thái sau đây:
buttonList

object (ButtonList)

Danh sách các nút.

Phương thức

create

Tạo tin nhắn trong phòng Google Chat.

delete

Xoá tin nhắn.

get

Trả về thông tin chi tiết về một tin nhắn.

list

Liệt kê tin nhắn trong một không gian mà người gọi là thành viên, bao gồm cả tin nhắn của các thành viên và không gian bị chặn.

patch

Cập nhật tin nhắn.

update

Cập nhật tin nhắn.