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,
  "silent": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "privateMessageViewer": {
    object (User)
  },
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ],
  "accessoryWidgets": [
    {
      object (AccessoryWidget)
    }
  ],
  "elements": {
    object (Elements)
  },
  "markupSyntax": enum (MarkupSyntax)
}
欄位
name

string

ID。訊息的資源名稱。

格式:spaces/{space}/messages/{message}

其中 {space} 是訊息張貼位置的聊天室 ID,{message} 則是系統指派的訊息 ID。例如:spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB。

如果您在建立訊息時設定自訂 ID,則可使用這個 ID 在要求中指定訊息,方法是將 {message} 替換為 clientAssignedMessageId 欄位中的值。例如 spaces/AAAAAAAAAAA/messages/client-custom-name。詳情請參閱「為訊息命名」。

sender

object (User)

僅供輸出。建立訊息的使用者。如果 Chat 應用程式以使用者身分驗證,輸出內容只會填入內部和外部使用者的使用者 name 和 type 欄位,除非他們是聊天室成員,或與呼叫使用者有先前的關係,例如即時訊息 (DM) 對話。

createTime

string (Timestamp format)

(選用步驟) 不可變動。在 Chat 中建立的聊天室,訊息建立時間。這個欄位僅供輸出,除非用於匯入模式聊天室。

如果是匯入模式聊天室,請將這個欄位設為訊息在來源中建立的歷來時間戳記,以便保留原始建立時間。

lastUpdateTime

string (Timestamp format)

僅供輸出。使用者上次編輯訊息的時間。如果訊息從未編輯過,這個欄位會留空。

deleteTime

string (Timestamp format)

僅供輸出。在 Google Chat 中刪除訊息的時間。如果訊息從未刪除,這個欄位會留空。

text

string

(選用步驟) 郵件的純文字內文。第一個指向圖片、影片或網頁的連結會產生預覽方塊。您也可以使用@號提及 Google Chat 使用者,或聊天室中的所有人。

如要瞭解如何建立簡訊,請參閱「傳送訊息」。

formattedText

string

僅供輸出。包含訊息 text,並加入標記來傳達格式。這個欄位可能不會擷取使用者介面中顯示的所有格式,但會包含下列項目:

  • 粗體、斜體、刪除線、等寬字型、等寬字型區塊、項目符號清單和區塊引言的標記語法。

  • 使用者提及,格式為 <users/{user}>。

  • 自訂超連結,格式為 <{url}|{rendered_text}>,其中第一個字串是網址,第二個字串是顯示的文字,例如 <http://example.com|custom text>。

  • 自訂表情符號,格式為 :{emojiName}:,例如 :smile:。這項規定不適用於 Unicode 表情符號,例如 U+1F600 代表露齒笑臉表情符號。

  • 使用星號 (*) 建立項目符號清單,例如 * item。

詳情請參閱「查看訊息中的文字格式」

cards[]
(deprecated)

object (Card)

已淘汰:請改用 cardsV2。

豐富、格式化且互動式的資訊卡,可用於顯示 UI 元素,例如格式化文字、按鈕和可點選的圖片。資訊卡通常會顯示在郵件的純文字內文下方。cards 和 cardsV2 的大小上限為 32 KB。

cardsV2[]

object (CardWithId)

(選用步驟) 資訊卡陣列。

Chat 擴充應用程式可透過應用程式驗證建立資訊卡。在開發人員預覽版計畫中,如果 Chat 應用程式以使用者身分驗證,就能建立資訊卡訊息。如果 Chat 擴充應用程式未加入開發人員預覽版計畫,就無法建立需要使用者驗證的資訊卡。

如要瞭解如何建立含有資訊卡的訊息,請參閱「傳送訊息」。

使用資訊卡建構工具設計及預覽資訊卡。

開啟資訊卡建立工具

annotations[]

object (Annotation)

僅供輸出。註解可以與郵件的純文字內文建立關聯,也可以與連結至 Google Workspace 資源 (例如 Google 文件或試算表) 的方塊建立關聯,其中 startIndex 和 length 為 0。

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)

僅供輸出。即時通訊訊息 text 欄位中的網址符合連結預覽模式。詳情請參閱「預覽連結」。

threadReply

boolean

僅供輸出。如果為 true,則訊息是回覆討論串中的回覆。如果 false,訊息會顯示在聊天室的頂層對話中,可能是討論串的第一則訊息,也可能是沒有討論串回覆的訊息。

如果聊天室不支援討論串回覆,這個欄位一律為 false。

silent

boolean

僅供輸出。這是否為靜音訊息。靜音訊息是指 Chat 不會向收件者傳送推播通知的訊息。

clientAssignedMessageId

string

(選用步驟) 訊息的自訂 ID。您可以使用欄位來識別訊息,或取得、刪除或更新訊息。如要設定自訂 ID,請在建立訊息時指定 messageId 欄位。詳情請參閱「為訊息命名」。

emojiReactionSummaries[]

object (EmojiReactionSummary)

僅供輸出。訊息的表情符號回應摘要清單。

privateMessageViewer

object (User)

(選用步驟) 不可變動。建立訊息時的輸入內容,否則僅限輸出。可查看訊息的使用者。設定後,訊息會設為私人,只有指定的使用者和 Chat 擴充應用程式可以查看。如要在要求中加入這個欄位,您必須使用應用程式驗證呼叫 Chat API,並省略下列項目:

詳情請參閱「傳送私人訊息」。

deletionMetadata

object (DeletionMetadata)

僅供輸出。已刪除訊息的相關資訊。設定 deleteTime 後,系統會刪除訊息。

quotedMessageMetadata

object (QuotedMessageMetadata)

(選用步驟) 另一則訊息引用的訊息相關資訊。

建立訊息時,你可以引用同一討論串中的訊息,或引用根訊息來建立新的根訊息。但無法引用其他討論串中的訊息回覆。

更新訊息時,您無法新增或取代 quotedMessageMetadata 欄位,但可以移除。

如需使用範例,請參閱「引用其他訊息」。

attachedGifs[]

object (AttachedGif)

僅供輸出。附加至郵件的 GIF 圖片。

accessoryWidgets[]

object (AccessoryWidget)

(選用步驟) 顯示在郵件底部的一或多個互動式小工具。您可以將附屬小工具新增至包含文字、資訊卡或兩者的訊息。不支援含有對話方塊的訊息。詳情請參閱「在訊息底部新增互動式小工具」。

如要建立含有附屬小工具的訊息,必須驗證應用程式。

elements

object (Elements)

(選用步驟) 元素是建立訊息時提供的額外元件,不一定與訊息文字的特定部分相關聯。這與註解不同,註解僅供輸出,並提供與訊息片段或整個訊息文字相關的補充資訊。

markupSyntax

enum (MarkupSyntax)

(選用步驟) 指定伺服器如何解讀訊息 text 欄位內容。

CardWithId

Google Chat 即時通訊訊息中的資訊卡。

Chat 擴充應用程式可透過應用程式驗證建立資訊卡。在開發人員預覽版計畫中,如果 Chat 應用程式以使用者身分驗證,就能建立資訊卡訊息。如果 Chat 擴充應用程式未加入開發人員預覽版計畫,就無法建立需要使用者驗證的資訊卡。

如要瞭解如何建立含有資訊卡的訊息,請參閱「傳送訊息」。

使用資訊卡建構工具設計及預覽資訊卡。

開啟資訊卡建立工具

JSON 表示法
{
  "cardId": string,
  "card": {
    object (Card)
  },
  "ownerUser": {
    object (User)
  }
}
欄位
cardId

string

如果訊息包含多張資訊卡,則為必填。訊息中資訊卡的專屬 ID。

card

object (Card)

一張卡片。大小上限為 32 KB。

ownerUser

object (User)

僅供輸出。擁有資訊卡的應用程式。

備註

註解可以與郵件的純文字內文建立關聯,也可以與連結至 Google Workspace 資源 (例如 Google 文件或試算表) 的方塊建立關聯,其中 startIndex 和 length 為 0。如要為訊息加上基本格式,請參閱「設定訊息文字格式」。

純文字郵件內文範例:

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,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  },
  "richLinkMetadata": {
    object (RichLinkMetadata)
  },
  "customEmojiMetadata": {
    object (CustomEmojiMetadata)
  }
}
欄位
type

enum (AnnotationType)

這個註解的類型。

length

integer

這個註解對應的純文字郵件內文子字串長度。如未提供,則表示長度為 0。

startIndex

integer

這項註解對應的純文字郵件內文起始索引 (以 0 為基準,包含 0)。

註解的其他中繼資料。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
userMention

object (UserMentionMetadata)

使用者提及的中繼資料。

slashCommand

object (SlashCommandMetadata)

斜線指令的中繼資料。

customEmojiMetadata

object (CustomEmojiMetadata)

自訂表情符號的中繼資料。

互斥欄位結束。

AnnotationType

註解類型。

列舉
ANNOTATION_TYPE_UNSPECIFIED 列舉的預設值。請勿使用。
USER_MENTION 提及使用者。
SLASH_COMMAND 叫用斜線指令。
CUSTOM_EMOJI 自訂表情符號註解。

UserMentionMetadata

使用者提及 (@) 的註解中繼資料。

JSON 表示法
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
欄位
user

object (User)

提及的使用者。

type

enum (Type)

使用者提及類型。

類型

列舉
TYPE_UNSPECIFIED 列舉的預設值。請勿使用。
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)

叫用的斜線指令 ID。

triggersDialog

boolean

指出斜線指令是否用於對話方塊。

類型

列舉
TYPE_UNSPECIFIED 列舉的預設值。請勿使用。
ADD 將 Chat 擴充應用程式新增至聊天室。
INVOKE 在聊天室中叫用斜線指令。

RichLinkMetadata

資源的豐富連結。豐富連結可與訊息的純文字內文建立關聯,或代表連結至 Google Workspace 資源 (例如 Google 文件或試算表) 的方塊,其中 startIndex 和 length 為 0。

JSON 表示法
{
  "uri": string,
  "richLinkType": enum (RichLinkType),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "driveLinkData": {
    object (DriveLinkData)
  },
  "chatSpaceLinkData": {
    object (ChatSpaceLinkData)
  },
  "meetSpaceLinkData": {
    object (MeetSpaceLinkData)
  },
  "calendarEventLinkData": {
    object (CalendarEventLinkData)
  }
}
欄位
uri

string

這個連結的 URI。

連結資源的資料。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
互斥欄位結束。

RichLinkType

RTF 連結類型。日後可能會新增更多類型。

列舉
DRIVE_FILE Google 雲端硬碟豐富連結類型。
CHAT_SPACE Chat 聊天室多媒體連結類型。例如聊天室智慧型方塊。
GMAIL_MESSAGE Gmail 郵件多媒體連結類型。具體來說,就是「分享到 Chat」中的 Gmail 晶片。這個 API 僅支援讀取含有 GMAIL_MESSAGE 複合式連結的訊息。
MEET_SPACE Meet 訊息多媒體連結類型。例如 Meet 晶片。
CALENDAR_EVENT 日曆訊息複合式連結類型。例如「日曆」方塊。

DriveLinkData

Google 雲端硬碟連結的資料。

JSON 表示法
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
欄位
driveDataRef

object (DriveDataRef)

參照 Google 雲端硬碟檔案的 DriveDataRef。

mimeType

string

連結的 Google 雲端硬碟資源 MIME 類型。

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}

MeetSpaceLinkData

Meet 會議室連結的資料。

JSON 表示法
{
  "meetingCode": string,
  "type": enum (Type),
  "huddleStatus": enum (HuddleStatus)
}
欄位
meetingCode

string

連結的 Meet 會議室會議代碼。

type

enum (Type)

指出 Meet 會議空間的類型。

huddleStatus

enum (HuddleStatus)

(選用步驟) 僅供輸出。如果 Meet 是群組通話,則會指出群組通話的狀態。否則,此值為未設定。

類型

Meet 會議室的類型。

列舉
TYPE_UNSPECIFIED 列舉的預設值。請勿使用。
MEETING Meet 空間是會議。
HUDDLE Meet 空間是群聊。

HuddleStatus

群聊狀態

列舉
HUDDLE_STATUS_UNSPECIFIED 列舉的預設值。請勿使用。
STARTED 群組通話已開始。
ENDED 群組通話已結束。在這種情況下,Meet 會議室 URI 和 ID 將失效。
MISSED 有未接的群組通話。在這種情況下,Meet 會議室 URI 和 ID 將失效。

CalendarEventLinkData

日曆活動連結的資料。

JSON 表示法
{
  "calendarId": string,
  "eventId": string
}
欄位
calendarId

string

連結日曆的日曆 ID。

eventId

string

連結日曆活動的事件 ID。

CustomEmojiMetadata

自訂表情符號的註解中繼資料。

JSON 表示法
{
  "customEmoji": {
    object (CustomEmoji)
  }
}
欄位
customEmoji

object (CustomEmoji)

自訂表情符號。

討論串

Google Chat 聊天室中的討論串。如需使用範例,請參閱「發起或回覆訊息討論串」。

如果在建立訊息時指定討論串,可以設定 messageReplyOption 欄位,決定找不到相符討論串時的處理方式。

JSON 表示法
{
  "name": string,
  "threadKey": string
}
欄位
name

string

ID。討論串的資源名稱。

範例:spaces/{space}/threads/{thread}

threadKey

string

(選用步驟) 建立或更新討論串的輸入內容。否則,僅輸出。討論串的 ID。最多可輸入 4000 個半形字元。

這個 ID 專屬於設定該 ID 的 Chat 擴充應用程式。舉例來說,如果多個 Chat 擴充應用程式使用相同的討論串金鑰建立訊息,訊息會發布在不同的討論串中。如要回覆使用者或其他 Chat 擴充應用程式建立的討論串,請改為指定討論串 name 欄位。

ActionResponse

Chat 擴充應用程式可用來設定回覆張貼方式的參數。

JSON 表示法
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
欄位
type

enum (ResponseType)

僅限輸入。Chat 擴充應用程式的回應類型。

url

string

僅限輸入。供使用者驗證或設定的網址。(僅適用於REQUEST_CONFIG回應類型)。

dialogAction

object (DialogAction)

僅限輸入。與對話方塊相關的互動事件回應。必須與 ResponseType.Dialog 搭配使用。

updatedWidget

object (UpdatedWidget)

僅限輸入。更新後小工具的回應。

ResponseType

Chat 擴充應用程式的回應類型。

列舉
TYPE_UNSPECIFIED 預設類型,會以 NEW_MESSAGE 處理。
NEW_MESSAGE 在主題中張貼新訊息。
UPDATE_MESSAGE 更新 Chat 擴充應用程式的訊息。只有在訊息傳送者類型為 BOT 的 CARD_CLICKED 事件中,才允許這項操作。
UPDATE_USER_MESSAGE_CARDS 更新使用者訊息中的資訊卡。只有在回應網址相符的 MESSAGE 事件,或訊息傳送者類型為 HUMAN 的 CARD_CLICKED 事件時,才可執行這項操作。系統會忽略文字。
REQUEST_CONFIG 私下要求使用者提供其他驗證資訊或進行設定。
DIALOG 顯示對話方塊。
UPDATE_WIDGET 小工具文字自動完成選項查詢。

DialogAction

包含對話和要求狀態碼。

JSON 表示法
{
  "actionStatus": {
    object (ActionStatus)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "dialog": {
    object (Dialog)
  }
}
欄位
actionStatus

object (ActionStatus)

僅限輸入。叫用或提交對話方塊的要求狀態。視需要向使用者顯示狀態和訊息。例如發生錯誤或成功時。

要執行的動作。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
dialog

object (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。

列舉
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 禁止

UNAUTHENTICATED

要求沒有作業的有效驗證憑證。

HTTP 對應:401 未授權

RESOURCE_EXHAUSTED

已耗盡某些資源,或許是每位使用者的配額,或許是完整檔案系統空間不足。

HTTP 對應:429 太多要求

FAILED_PRECONDITION

作業已遭拒絕,因為系統不在執行作業所需的狀態下。例如要刪除的目錄非空白、rmdir 作業套用至非目錄等。

服務實作者可參考下列指南,決定要使用 FAILED_PRECONDITION、ABORTED 還是 UNAVAILABLE:(a) 如果用戶端可以只重試失敗的呼叫,請使用 UNAVAILABLE。(b) 如果用戶端應在較高層級重試,請使用 ABORTED。例如,當用戶端指定的測試和設定失敗時,表示用戶端應重新啟動讀取-修改-寫入序列。(c) 如果用戶端在系統狀態明確修正前不應重試,請使用 FAILED_PRECONDITION。舉例來說,如果「rmdir」因目錄不為空而失敗,則應傳回 FAILED_PRECONDITION,因為除非從目錄中刪除檔案,否則用戶端不應重試。

HTTP 對應:400 錯誤的要求

ABORTED

作業已取消,原因通常是排序器檢查失敗或交易取消等並行問題。

如要決定採用 FAILED_PRECONDITION、ABORTED 還是 UNAVAILABLE,請參閱以上指南。

HTTP 對應:409 衝突

OUT_OF_RANGE

嘗試作業時超過有效範圍,例如搜尋或讀取超過檔案結尾。

與 INVALID_ARGUMENT 不同,此錯誤表示如果系統狀態變更則可修正的問題。舉例來說,如果要求 32 位元檔案系統在不在 [0,2^32-1] 範圍內的偏移量讀取,系統會產生 INVALID_ARGUMENT,但如果要求從超過目前檔案大小的偏移量讀取,系統會產生 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,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "suggestions": {
    object (SelectionItems)
  }
}
欄位
widget

string

已更新的小工具 ID。這個 ID 必須與觸發更新要求的小工具 ID 相符。

小工具會根據使用者動作更新。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
suggestions

object (SelectionItems)

小工具自動完成結果清單

互斥欄位結束。

SelectionItems

小工具自動完成結果清單。

JSON 表示法
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
欄位
items[]

object (SelectionItem)

SelectionItem 物件陣列。

SlashCommand

Google Chat 中斜線指令的中繼資料。

JSON 表示法
{
  "commandId": string
}
欄位
commandId

string (int64 format)

斜線指令的 ID。

MatchedUrl

即時通訊訊息中相符的網址。Chat 擴充應用程式可以預覽相符的網址。詳情請參閱「預覽連結」。

JSON 表示法
{
  "url": string
}
欄位
url

string

僅供輸出。比對成功的網址。

EmojiReactionSummary

使用特定表情符號回應訊息的人數。

JSON 表示法
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
欄位
emoji

object (Emoji)

僅供輸出。與回應相關聯的表情符號。

reactionCount

integer

僅供輸出。使用相關表情符號的回應總數。

DeletionMetadata

已刪除郵件的相關資訊。設定 deleteTime 後,系統會刪除訊息。

JSON 表示法
{
  "deletionType": enum (DeletionType)
}
欄位
deletionType

enum (DeletionType)

指出刪除訊息的使用者。

DeletionType

刪除訊息的使用者和刪除方式。日後可能會新增更多值。如要瞭解何時可以刪除訊息,請參閱「編輯或刪除 Google Chat 中的訊息」。

列舉
DELETION_TYPE_UNSPECIFIED 這個值不會用到。
CREATOR 使用者刪除了自己的訊息。
SPACE_OWNER 擁有者或管理員刪除了訊息。
ADMIN Google Workspace 管理員已刪除訊息。管理員可以刪除聊天室中的任何訊息,包括任何聊天室成員或 Chat 擴充應用程式傳送的訊息。
APP_MESSAGE_EXPIRY Chat 擴充應用程式在訊息到期時刪除訊息。
CREATOR_VIA_APP Chat 擴充應用程式代表建立者刪除訊息 (使用使用者驗證)。
SPACE_OWNER_VIA_APP Chat 擴充應用程式代表聊天室管理員刪除訊息 (使用使用者驗證)。
SPACE_MEMBER 聊天室成員刪除了訊息。使用者可以刪除應用程式傳送的訊息。

QuotedMessageMetadata

另一則訊息引用的訊息相關資訊。

更新訊息時,您無法新增或取代 quotedMessageMetadata 欄位,但可以移除。

如需使用範例,請參閱「引用其他訊息」。

JSON 表示法
{
  "name": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "quotedMessageSnapshot": {
    object (QuotedMessageSnapshot)
  },
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
欄位
name

string

必填。引用訊息的資源名稱。

格式:spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

必填。引用訊息的建立時間或上次更新時間。

如果訊息經過編輯,請使用 lastUpdateTime 欄位。如果訊息從未經過編輯,請使用 createTime。

如果 lastUpdateTime 與所引用訊息的最新版本不符,要求就會失敗。

quoteType

enum (QuoteType)

(選用步驟) 指定報價類型。如未設定,訊息讀取/寫入路徑預設為 REPLY,以確保回溯相容性。

quotedMessageSnapshot

object (QuotedMessageSnapshot)

僅供輸出。引用訊息內容的快照。

forwardedMetadata

object (ForwardedMetadata)

僅供輸出。引用訊息來源聊天室的中繼資料。僅在 FORWARD 報價類型中填入。

QuoteType

引用訊息的引用類型。

列舉
QUOTE_TYPE_UNSPECIFIED Reserved. 這個值不會用到。
REPLY

當 quoteType 為 REPLY 時,您可以執行下列操作:

  • 在討論串中回覆時,可以引用該討論串中的其他訊息。

  • 建立根訊息時,可以引用該聊天室中的其他根訊息。

FORWARD

當 quoteType 為 FORWARD 時,您可以引用:

  • 來自其他聊天室的訊息。

  • 同一聊天室中不同討論串的訊息回覆。

QuotedMessageSnapshot

提供引用或轉寄時,引用訊息內容的快照

JSON 表示法
{
  "sender": string,
  "text": string,
  "formattedText": string,
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
欄位
sender

string

僅供輸出。引用訊息的作者名稱。系統會為「REPLY」和「FORWARD」這兩種引用類型填入這個值。

text

string

僅供輸出。引用訊息的文字內容快照。

formattedText

string

僅供輸出。包含引用的訊息 text,並加上標記,支援超連結、自訂表情符號、標記等 RTF 格式。只有在引用類型為 FORWARD 時,才會填入這個欄位。

annotations[]

object (Annotation)

僅供輸出。從引用訊息內文剖析出的註解。僅在 FORWARD 報價類型中填入。

attachments[]

object (Attachment)

僅供輸出。引用郵件中的附件。這些是引用郵件附件中繼資料的副本。僅在 FORWARD 報價類型中填入。

ForwardedMetadata

訊息轉寄來源聊天室的中繼資料。

JSON 表示法
{
  "space": string,
  "spaceDisplayName": string
}
欄位
space

string

僅供輸出。來源聊天室的資源名稱。格式:spaces/{space}

spaceDisplayName

string

僅供輸出。轉寄時來源聊天室或即時訊息的顯示名稱。如果是 SPACE,這會是聊天室名稱。如果是DIRECT_MESSAGE,則為其他參與者的名稱 (例如「使用者 A」)。GROUP_CHAT:系統會根據成員的名字生成名稱,最多 5 個 (包括創作者),例如「使用者 A、使用者 B」。

AttachedGif

由網址指定的 GIF 圖片。

JSON 表示法
{
  "uri": string
}
欄位
uri

string

僅供輸出。GIF 圖片的網址。

AccessoryWidget

一或多個互動式小工具,會顯示在訊息底部。詳情請參閱「在訊息底部新增互動式小工具」。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "buttonList": {
    object (ButtonList)
  }
}
欄位
動作類型。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
buttonList

object (ButtonList)

按鈕清單。

互斥欄位結束。

元素

元素是額外元件,不一定與建立訊息時提供的訊息文字相關聯。

JSON 表示法
{
  "citedSources": [
    {
      object (CitedSource)
    }
  ],
  "citations": [
    {
      object (Citation)
    }
  ]
}
欄位
citedSources[]

object (CitedSource)

在訊息下方顯示為頁尾連結的來源清單。這些不會內嵌參照。如要使用內嵌參考資料,請使用 citations。

citations[]

object (Citation)

訊息文字中引用的內嵌引用清單 (透過 <chat-citation> 標記),會顯示為互動式懸浮資訊卡。

CitedSource

資訊來源的參考資料。

JSON 表示法
{
  "title": string,
  "uri": string,
  "snippet": {
    object (Snippet)
  },
  "footer": {
    object (Footer)
  }
}
欄位
title

string

必填。CitedSource 的純文字標題。這個欄位不支援格式設定。

uri

string

必填。指向這個 CitedSource 參照資源的 URI。

snippet

object (Snippet)

(選用步驟) 直接從來源擷取資訊的摘要。

footer

object (Footer)

(選用步驟) 以頁尾形式與摘要一併顯示的額外資訊。

文字片段

代表較大語料庫摘錄內容的程式碼片段物件。

JSON 表示法
{
  "text": string,
  "imagePreview": {
    object (ElementsImage)
  }
}
欄位
text

string

(選用步驟) 直接從語料庫擷取的簡短明文摘錄,可能會在即時通訊中顯示。不支援 Markdown 格式。

imagePreview

object (ElementsImage)

(選用步驟) 建立引用內容時,系統會根據輸入內容提供圖片預覽。

ElementsImage

這個物件會封裝圖片的不同表示方式。目前支援的表示法:- 從 URI 擷取的圖片。日後可能會支援其他表示法。

JSON 表示法
{

  "imageUri": string
}
欄位
必填。其中一種支援的圖片表示法。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
imageUri

string

必填。可公開存取的圖片 URI。

互斥欄位結束。

來源的頁尾,用於標示出處。

JSON 表示法
{
  "text": string
}
欄位
text

string

(選用步驟) 要在頁尾顯示的文字。

引用內容

引用內容是內嵌參考資料,可為使用者提供更詳細的資訊。訊息文字中應有對應的內文引用,並採用 <chat-citation data-id="{id}">{text}</chat-citation> 標記格式。只有在訊息的 markupSyntax 設為 MARKDOWN 時,才支援引用。

Elements.citations 中未參照的引用內容 (即郵件內文中沒有相符 <chat-citation> 標記的引用內容) 會遭到忽略,且不會導致郵件遭到拒絕。

JSON 表示法
{
  "id": string,
  "citedSources": [
    {
      object (CitedSource)
    }
  ]
}
欄位
id

string

必填。應用程式定義的 ID。只能使用 ASCII 字母和數字,且長度不得超過 63 個字元。

citedSources[]

object (CitedSource)

(選用步驟) 與引用內容相關的來源清單。來源會顯示在引用內容懸浮資訊卡中。

MarkupSyntax

指定用於設定即時通訊訊息文字格式的標記語法。適用於 Message 資源的 text 欄位。

列舉
MARKUP_SYNTAX_UNSPECIFIED 代表未指定的值。
MARKUP_SYNTAX_CHAT 使用 Google Chat 的標記語法。詳情請參閱 https://developers.google.com/workspace/chat/format-messages#format-texts。
MARKUP_SYNTAX_MARKDOWN 使用 Markdown 語法。這個語法是以 CommonMark 規格為基礎,並提供額外擴充功能。詳情請參閱 https://developers.google.com/workspace/chat/format-messages#format-texts。

方法

create

在 Google Chat 聊天室中建立訊息。

delete

刪除訊息。

get

傳回訊息的詳細資料。

list

列出呼叫端所屬聊天室中的訊息,包括來自封鎖成員和聊天室的訊息。

patch

更新訊息。

replaceCards

取代訊息中的資訊卡。
在 Google Chat 中搜尋呼叫使用者有權存取的訊息。

update

更新訊息。