REST Resource: spaces

資源:Space

Google Chat 聊天室。聊天室是兩名以上使用者之間的對話,或是使用者與 Chat 應用程式之間的一對一訊息。

JSON 表示法
{
  "name": string,
  "type": enum (Type),
  "spaceType": enum (SpaceType),
  "singleUserBotDm": boolean,
  "threaded": boolean,
  "displayName": string,
  "externalUserAllowed": boolean,
  "spaceThreadingState": enum (SpaceThreadingState),
  "spaceDetails": {
    object (SpaceDetails)
  },
  "spaceHistoryState": enum (HistoryState),
  "importMode": boolean,
  "createTime": string,
  "lastActiveTime": string,
  "adminInstalled": boolean,
  "membershipCount": {
    object (MembershipCount)
  },
  "accessSettings": {
    object (AccessSettings)
  },
  "spaceUri": string,
  "importModeExpireTime": string,
  "customer": string,

  // Union field space_permission_settings can be only one of the following:
  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
  // End of list of possible types for union field space_permission_settings.
}
欄位
name

string

ID。聊天室的資源名稱。

格式:spaces/{space}

其中 {space} 代表系統指派的空間 ID。您可以呼叫 spaces.list() 方法或從聊天室網址取得聊天室 ID。舉例來說,如果聊天室網址為 https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA,則聊天室 ID 為 AAAAAAAAA

type
(deprecated)

enum (Type)

僅供輸出。已淘汰:請改用 spaceType。聊天室類型。

spaceType

enum (SpaceType)

(選用步驟) 空間類型。建立聊天室或更新聊天室類型時必須提供,僅供輸出,不得用於其他用途。

singleUserBotDm

boolean

(選用步驟) 聊天室是否為 Chat 應用程式與單一人類之間的即時訊息。

threaded
(deprecated)

boolean

僅供輸出。已淘汰:請改用 spaceThreadingState。這個聊天室中的訊息是否會顯示為討論串。

displayName

string

(選用步驟) 聊天室的顯示名稱。使用 SPACEspaceType建立聊天室時,這是必要屬性。如果在建立聊天室或更新 displayName 時收到錯誤訊息 ALREADY_EXISTS,請嘗試使用其他 displayName。Google Workspace 機構中現有的聊天室可能已使用這個顯示名稱。

如果是即時訊息,這個欄位可能會空白。

最多可使用 128 個半形字元。

externalUserAllowed

boolean

(選用步驟) 不可變更。這個聊天室是否允許任何 Google Chat 使用者加入。在 Google Workspace 機構中建立聊天室時輸入。在下列情況下建立聊天室時,請省略這個欄位:

  • 通過驗證的使用者使用個人帳戶 (非受管理的使用者帳戶)。個人帳戶建立的聊天室預設允許任何 Google Chat 使用者加入。

如果是現有聊天室,這個欄位僅供輸出。

spaceThreadingState

enum (SpaceThreadingState)

僅供輸出。Chat 聊天室中的討論串狀態。

spaceDetails

object (SpaceDetails)

(選用步驟) 聊天室詳細資料,包括說明和規則。

spaceHistoryState

enum (HistoryState)

(選用步驟) 這個聊天室中訊息和討論串的訊息記錄狀態。

importMode

boolean

(選用步驟) 這個空間是否在 Import Mode 中建立,做為資料遷移至 Google Workspace 的一部分。匯入聊天室期間,使用者無法查看聊天室,直到匯入完成為止。

Import Mode 中建立空間時,需要使用者驗證

createTime

string (Timestamp format)

(選用步驟) 不可變更。如果是透過 Chat 建立的聊天室,則為聊天室的建立時間。這個欄位只能輸出,匯入模式聊天室除外。

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

只有在 spaceTypeGROUP_CHATSPACE 時,才會在輸出內容中填入這個欄位。

lastActiveTime

string (Timestamp format)

僅供輸出。聊天室中最後一則訊息的時間戳記。

adminInstalled

boolean

僅供輸出。如果是含有 Chat 應用程式的即時訊息 (DM) 聊天室,則無論聊天室是否由 Google Workspace 管理員建立,管理員可以代表機構中的使用者安裝及設定與 Chat 應用程式的即時訊息。

如要支援管理員安裝,Chat 應用程式必須具備即時通訊功能。

membershipCount

object (MembershipCount)

僅供輸出。依成員類型分組的加入會員人數。當 spaceTypeSPACEDIRECT_MESSAGEGROUP_CHAT 時,系統會填入這個值。

accessSettings

object (AccessSettings)

(選用步驟) 指定聊天室的存取權設定。只有在 spaceTypeSPACE 時才會填入資料。

spaceUri

string

僅供輸出。使用者存取空間的 URI。

importModeExpireTime

string (Timestamp format)

僅供輸出。如果聊天室仍處於匯入模式,系統會自動刪除聊天室的時間。

以匯入模式建立的每個聊天室,都必須在到期時間前使用 spaces.completeImport 退出此模式。

只有以匯入模式建立的聊天室才會填入這個欄位。

customer

string

(選用步驟) 不可變更。聊天室網域的客戶 ID。只有在建立具有應用程式驗證的聊天室,且 SpaceTypeSPACE 時才需要設定,否則不應設定。

格式為 customers/{customer},其中 customerAdmin SDK 客戶資源中的 id。私人應用程式也可以使用 customers/my_customer 別名,在與應用程式相同的 Google Workspace 機構中建立空間。

如果是即時訊息,這個欄位不會填入任何內容。

聯集欄位 space_permission_settings。代表聊天室的權限設定。只有在 space_typeSPACE 時才會填入資料。space_permission_settings 只能是下列其中一項:
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

(選用步驟) 僅限輸入。預先定義的聊天室權限設定,只能在建立聊天室時輸入。如果不設定這個欄位,系統會建立協作空間。建立空間後,系統會在 PermissionSettings 欄位中填入設定。

設定預先定義的權限設定支援:

permissionSettings

object (PermissionSettings)

(選用步驟) 現有聊天室的聊天室權限設定。輸入內容,更新確切的空間權限設定,取代現有的權限設定。輸出內容會列出目前的權限設定。

讀取及更新權限設定支援:

類型

已淘汰:請改用 SpaceType

列舉
TYPE_UNSPECIFIED 保留。
ROOM 兩位以上人類之間的對話。
DM 使用者與 Chat 應用程式之間的 1 對 1 即時訊息,所有訊息都是平面式。請注意,這不包括兩位使用者之間的即時訊息。

SpaceType

空間類型。建立或更新聊天室時必須提供,僅供輸出,不得用於其他用途。

列舉
SPACE_TYPE_UNSPECIFIED 保留。
SPACE 使用者可以在這裡傳送訊息、分享檔案及協作。SPACE可以包含 Chat 應用程式。
GROUP_CHAT 3 人以上的群組對話。GROUP_CHAT可以包含 Chat 應用程式。
DIRECT_MESSAGE 兩位使用者之間,或使用者與 Chat 應用程式之間的 1:1 訊息。

SpaceThreadingState

指定 Chat 聊天室中的討論串狀態類型。

列舉
SPACE_THREADING_STATE_UNSPECIFIED 保留。
THREADED_MESSAGES 支援訊息串的具名空間。使用者回覆訊息時,可以選擇在該訊息串中回覆,這樣回覆內容就會與原始訊息的脈絡相符。
GROUPED_MESSAGES 這類聊天室會依主題分類對話,並顯示名稱。主題和回覆會歸在一組。
UNTHREADED_MESSAGES 兩位使用者之間的即時訊息 (DM),以及 3 位以上使用者之間的群組對話。

SpaceDetails

聊天室詳細資料,包括說明和規則。

JSON 表示法
{
  "description": string,
  "guidelines": string
}
欄位
description

string

(選用步驟) 空間說明。例如說明空間的討論主題、功能用途或參與者。

最多可輸入 150 個半形字元。

guidelines

string

(選用步驟) 聊天室的規則、期望和禮儀。

最多可輸入 5,000 個字元。

HistoryState

訊息和聊天室的記錄狀態。指定訊息和對話討論串在建立後要保留多久。

列舉
HISTORY_STATE_UNSPECIFIED 預設值。請勿使用。
HISTORY_OFF 記錄功能已關閉。訊息和對話串會保留 24 小時
HISTORY_ON 記錄功能已開啟。機構的 Google 保管箱保留規則會指定郵件和討論串的保留時間。

MembershipCount

代表聊天室的成員人數,並依類別分組。

JSON 表示法
{
  "joinedDirectHumanUserCount": integer,
  "joinedGroupCount": integer
}
欄位
joinedDirectHumanUserCount

integer

僅供輸出。直接加入聊天室的使用者人數,不包括透過加入群組而加入的使用者。

joinedGroupCount

integer

僅供輸出。直接加入聊天室的所有群組數量。

AccessSettings

代表聊天室的存取權設定

JSON 表示法
{
  "accessState": enum (AccessState),
  "audience": string
}
欄位
accessState

enum (AccessState)

僅供輸出。顯示空間的存取狀態。

audience

string

(選用步驟) 可探索、加入聊天室及預覽聊天室訊息的目標對象資源名稱。如果未設定,只有個別受邀或加入聊天室的使用者或 Google 網路論壇可以存取。詳情請參閱「讓目標對象能找到你的空間」。

格式:audiences/{audience}

如要使用 Google Workspace 機構的預設目標對象,請設為 audiences/default

讀取目標對象支援:

使用 chat.bot 範圍搭配應用程式驗證時,系統不會填入這個欄位。

設定目標對象時,需要使用者驗證

AccessState

代表聊天室的存取狀態。

列舉
ACCESS_STATE_UNSPECIFIED 這個 API 不支援或無法判斷存取狀態。
PRIVATE 只有其他使用者或 Google Workspace 管理員個別新增或邀請的使用者或 Google 群組,才能探索及存取聊天室。
DISCOVERABLE

聊天室管理員已授予目標對象聊天室存取權。個別新增或受邀加入聊天室的使用者或 Google 網路論壇,也可以探索及存取聊天室。詳情請參閱「允許特定使用者探索聊天室」。

建立可自由加入的聊天室需要使用者驗證

PredefinedPermissionSettings

預先定義的權限設定,只能在建立具名聊天室時指定。日後可能會新增更多設定。如要進一步瞭解具名聊天室的權限設定,請參閱「瞭解聊天室」。

列舉
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED 未指定。請勿使用。
COLLABORATION_SPACE 設定聊天室為協作空間,所有成員都能發布訊息。
ANNOUNCEMENT_SPACE 將聊天室設為公告聊天室,只有聊天室管理員可以張貼訊息。

PermissionSettings

更新現有名稱空間時可指定的權限設定

如要在建立空間時設定權限,請在要求中指定 PredefinedPermissionSettings 欄位。

JSON 表示法
{
  "manageMembersAndGroups": {
    object (PermissionSetting)
  },
  "modifySpaceDetails": {
    object (PermissionSetting)
  },
  "toggleHistory": {
    object (PermissionSetting)
  },
  "useAtMentionAll": {
    object (PermissionSetting)
  },
  "manageApps": {
    object (PermissionSetting)
  },
  "manageWebhooks": {
    object (PermissionSetting)
  },
  "postMessages": {
    object (PermissionSetting)
  },
  "replyMessages": {
    object (PermissionSetting)
  }
}
欄位
manageMembersAndGroups

object (PermissionSetting)

(選用步驟) 管理聊天室成員和群組的設定。

modifySpaceDetails

object (PermissionSetting)

(選用步驟) 設定更新聊天室名稱、顯示圖片、說明和規範。

toggleHistory

object (PermissionSetting)

(選用步驟) 開啟及關閉聊天室記錄的設定。

useAtMentionAll

object (PermissionSetting)

(選用步驟) 在聊天室中使用 @號提及所有人的設定。

manageApps

object (PermissionSetting)

(選用步驟) 用於管理聊天室中的應用程式。

manageWebhooks

object (PermissionSetting)

(選用步驟) 用於管理聊天室中的 Webhook。

postMessages

object (PermissionSetting)

僅供輸出。在聊天室中張貼訊息的設定。

replyMessages

object (PermissionSetting)

(選用步驟) 設定聊天室訊息的回覆方式。

PermissionSetting

代表空間權限設定。

JSON 表示法
{
  "managersAllowed": boolean,
  "membersAllowed": boolean
}
欄位
managersAllowed

boolean

(選用步驟) 聊天室管理員是否具備這項權限。

membersAllowed

boolean

(選用步驟) 非管理員成員是否具備這項權限。

方法

completeImport

完成指定空間的匯入程序,並向使用者顯示。

create

建立聊天室。

delete

刪除具名空間。

findDirectMessage

傳回與指定使用者現有的即時訊息。

get

傳回聊天室的詳細資料。

list

列出呼叫者所屬的聊天室。

patch

更新聊天室。
根據管理員的搜尋條件,傳回 Google Workspace 機構中的空間清單。

setup

建立聊天室並新增指定使用者。