REST Resource: spaces

リソース: Space

Google Chat のスペース。スペースは、2 人以上のユーザー間の会話、またはユーザーと Chat 用アプリ間の 1 対 1 のメッセージです。

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,
  "sessionState": enum (SpaceSessionState),
  "sessionEnableTime": string,
  "importModeExpireTime": string,
  "customer": string,

  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
}
フィールド
name

string

ID。スペースのリソース名。

形式: spaces/{space}

ここで、{space} はシステムによって割り当てられたスペースの ID を表します。スペース ID は、spaces.list() メソッドを呼び出すか、スペースの URL から取得できます。たとえば、スペースの URL が https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA の場合、スペース ID は AAAAAAAAA です。

type
(deprecated)

enum (Type)

出力専用。非推奨: 代わりに、spaceType を使用してください。スペースのタイプ。

spaceType

enum (SpaceType)

省略可。スペースのタイプ。スペースを作成する場合、またはスペースのスペースタイプを更新する場合は必須です。その他の用途では出力専用。

singleUserBotDm

boolean

省略可。スペースが Chat 用アプリと 1 人のユーザー間の DM であるかどうか。

threaded
(deprecated)

boolean

出力専用。非推奨: 代わりに、spaceThreadingState を使用してください。このスペースでメッセージがスレッド化されているかどうか。

displayName

string

省略可。スペースの表示名。spaceType が SPACE のスペースを作成する場合に必要です。スペースの作成時または 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

省略可。このスペースが、Google Workspace へのデータ移行の一環として Import Mode で作成されたかどうか。インポート中のスペースは、インポートが完了するまでユーザーに表示されません。

Import Mode でスペースを作成するには、ユーザー認証が必要です。

createTime

string (Timestamp format)

省略可。変更不可。Chat で作成されたスペースの場合、スペースが作成された時刻。このフィールドは出力専用です。ただし、インポート モードのスペースで使用される場合を除きます。

インポート モードのスペースの場合、元の作成時間を保持するために、このフィールドを、ソースでスペースが作成された過去のタイムスタンプに設定します。

spaceType が GROUP_CHAT または SPACE の場合にのみ出力に入力されます。

lastActiveTime

string (Timestamp format)

出力専用。スペース内の最後のメッセージのタイムスタンプ。

adminInstalled

boolean

出力専用。Chat アプリを含むダイレクト メッセージ(DM)スペースの場合、そのスペースが Google Workspace 管理者によって作成されたかどうか。管理者は、組織内のユーザーに代わって、Chat アプリをインストールしてダイレクト メッセージを設定できます。

管理者インストールをサポートするには、Chat アプリにダイレクト メッセージ機能が必要です。

membershipCount

object (MembershipCount)

出力専用。参加したメンバーシップの数をメンバータイプ別にグループ化したもの。spaceType が SPACE、DIRECT_MESSAGE、GROUP_CHAT の場合に入力されます。

accessSettings

object (AccessSettings)

省略可。スペースのアクセス設定を指定します。spaceType が SPACE の場合にのみ入力されます。

spaceUri

string

出力専用。ユーザーがスペースにアクセスするための URI。

sessionState

enum (SpaceSessionState)

出力専用。スペースのセッション状態。

sessionEnableTime

string (Timestamp format)

出力専用。スペースのセッション サポート ステータスがサポート対象になったタイムスタンプ。スペースでセッション サポートが有効になっていない場合は設定されません。

importModeExpireTime

string (Timestamp format)

出力専用。スペースがインポート モードのままの場合に、システムによって自動的に削除される時刻。

インポート モードで作成された各スペースは、spaces.completeImport を使用して、この有効期限が切れる前にこのモードを終了する必要があります。

このフィールドは、インポート モードで作成されたスペースにのみ入力されます。

customer

string

省略可。変更不可。スペースのドメインのお客様 ID。アプリ認証を使用してスペースを作成し、SpaceType が SPACE の場合にのみ必要です。それ以外の場合は設定しないでください。

customers/{customer} 形式。customer は Admin SDK の顧客リソースの id です。限定公開アプリでは、customers/my_customer エイリアスを使用して、アプリと同じ Google Workspace 組織にスペースを作成することもできます。

このフィールドは、ダイレクト メッセージ(DM)の場合や、Google Workspace 以外のユーザーがスペースを作成した場合には入力されません。

スペースの権限設定を表します。space_type が SPACE の場合にのみ入力されます。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

省略可。入力専用。事前定義されたスペースの権限設定。スペースの作成時にのみ入力します。このフィールドが設定されていない場合、コラボレーション スペースが作成されます。スペースを作成すると、設定が PermissionSettings フィールドに入力されます。

事前定義された権限セットを設定すると、次のことが可能になります。

permissionSettings

object (PermissionSettings)

省略可。既存のスペースのスペース権限設定。スペースの権限設定を正確に更新するための入力。既存の権限設定が置き換えられます。出力には、現在の権限設定が一覧表示されます。

権限設定の読み取りと更新では、以下がサポートされています。

相互に排他的なフィールドの終了。

タイプ

非推奨: 代わりに、SpaceType を使用してください。

列挙型
TYPE_UNSPECIFIED 予約済み。
ROOM 2 人以上の人間による会話。
DM 人間と Chat 用アプリの間の 1 対 1 のダイレクト メッセージ。すべてのメッセージがフラットです。なお、これには 2 人のユーザー間のダイレクト メッセージは含まれません。

SpaceType

スペースのタイプ。スペースを作成または更新する場合は必須です。その他の用途では出力専用。

列挙型
SPACE_TYPE_UNSPECIFIED 予約済み。
SPACE メッセージの送信、ファイルの共有、共同作業を行う場所です。SPACE には Chat 用アプリを含めることができます。
GROUP_CHAT 3 人以上のユーザーによるグループ会話。GROUP_CHAT には Chat 用アプリを含めることができます。
DIRECT_MESSAGE 2 人のユーザー間、またはユーザーと Chat 用アプリ間の 1 対 1 のメッセージ。

SpaceThreadingState

Chat スペースのスレッドの状態のタイプを指定します。

列挙型
SPACE_THREADING_STATE_UNSPECIFIED 予約済み。
THREADED_MESSAGES メッセージ スレッドをサポートするスペース。ユーザーがメッセージに返信するときに、スレッド内で返信できるため、元のメッセージのコンテキストに沿って返信できます。
GROUPED_MESSAGES 会話がトピック別に整理された名前付きスペース。トピックとそれに対する返信がグループ化されます。
UNTHREADED_MESSAGES

メッセージ スレッドをサポートしていないスペース。このスペースのスレッド化状態は、次のような特殊なケースでのみ使用されます。

  • スレッド形式が意図的にオフにされている会議のチャットの保持。
  • 2022 年より前に作成された以前のグループ会話。

SpaceDetails

説明やルールなど、スペースの詳細。

JSON 表現
{
  "description": string,
  "guidelines": string
}
フィールド
description

string

省略可。スペースの説明。たとえば、スペースのディスカッション トピック、機能的な目的、参加者などを説明します。

最大 4,096 文字に対応します。

guidelines

string

省略可。スペースのルール、期待されること、エチケット。

最大 5,000 文字に対応します。

HistoryState

メッセージとスペースの履歴の状態。メッセージと会話スレッドが作成後に保持される期間を指定します。

列挙型
HISTORY_STATE_UNSPECIFIED デフォルト値。使用しないでください。
HISTORY_OFF 履歴がオフ。メッセージとスレッドは 24 時間保持されます。
HISTORY_ON 履歴がオンになっています。組織の Vault の保持ルールで、メッセージとスレッドの保持期間が指定されている。

MembershipCount

カテゴリ別にグループ化された、スペースのメンバーシップの数を表します。

JSON 表現
{
  "joinedDirectHumanUserCount": integer,
  "joinedGroupCount": integer
}
フィールド
joinedDirectHumanUserCount

integer

出力専用。スペースに直接参加している人間のユーザーの数。参加しているグループのメンバーシップによって参加しているユーザーは含まれません。

joinedGroupCount

integer

出力専用。スペースに直接参加しているすべてのグループの数。

AccessSettings

スペースのアクセス設定を表します。

JSON 表現
{
  "accessState": enum (AccessState),
  "audience": string,
  "accessPermissionSettings": {
    object (AccessPermissionSettings)
  }
}
フィールド
accessState

enum (AccessState)

出力専用。スペースのアクセス状態を示します。

audience

string

省略可。スペースを検索して参加し、スペース内のメッセージをプレビューできる対象ユーザーのリソース名。設定されていない場合、スペースに個別に招待または追加されたユーザーまたは Google グループのみがスペースにアクセスできます。詳しくは、対象グループがスペースを検出できるようにするをご覧ください。

形式: audiences/{audience}

Google Workspace 組織のデフォルトの対象グループを使用するには、audiences/default に設定します。

ターゲット ユーザーの読み取りは、以下をサポートしています。

アプリ認証で chat.bot スコープを使用する場合、このフィールドは入力されません。

対象オーディエンスを設定するには、ユーザー認証が必要です。

accessPermissionSettings

object (AccessPermissionSettings)

省略可。スペースのアクセス権限の設定。

スペースの作成時に対象グループを設定するには、リクエストで accessSettings.audience フィールドを指定します。

AccessState

スペースのアクセス状態を表します。

列挙型
ACCESS_STATE_UNSPECIFIED アクセス状態が不明であるか、この API でサポートされていません。
PRIVATE 他のユーザーまたは Google Workspace 管理者によって個別に追加または招待されたユーザーまたは Google グループのみが、スペースを検出してアクセスできます。
DISCOVERABLE

スペースの管理者が、ターゲット オーディエンスにスペースへのアクセス権を付与している。スペースに個別に追加または招待されたユーザーまたは Google グループも、スペースを検出してアクセスできます。詳しくは、特定のユーザーがスペースを検出できるようにするをご覧ください。

検索可能なスペースを作成するには、ユーザー認証が必要です。

AccessPermissionSettings

スペースのアクセス権限の設定。

JSON 表現
{
  "discoverSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "joinSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "viewSpaceMembershipSetting": {
    object (AccessPermissionSetting)
  }
}
フィールド
discoverSpaceSetting

object (AccessPermissionSetting)

省略可。スペースを検出するためのアクセス権限の設定。

joinSpaceSetting

object (AccessPermissionSetting)

省略可。スペースに参加するためのアクセス権限の設定。

viewSpaceMembershipSetting

object (AccessPermissionSetting)

省略可。スペースのメンバーシップを表示するためのアクセス権限の設定。スペースのメンバーシップを表示できるユーザーを更新する場合は、更新マスクとリクエスト本文で PermissionSettings.view_space_membership と一緒に指定する必要があります。対象グループに閲覧権限を付与する場合は、同じリクエストですべてのメンバーに PermissionSettings.view_space_membership も付与する必要があります。既存の対象グループを削除するには(たとえば、閲覧権限をスペースの管理者またはアシスタント マネージャーのみに制限する場合)、空の AccessPermissionSetting を指定します(principals は指定しません)。

AccessPermissionSetting

アクセス権限の設定。

JSON 表現
{
  "principals": [
    {
      object (Principal)
    }
  ]
}
フィールド
principals[]

object (Principal)

省略可。順序なしリスト。この権限が許可されているプリンシパル。

プリンシパル

アクセス権が付与されたエンティティを表すプリンシパル。

JSON 表現
{

  "audience": {
    object (Audience)
  }
}
フィールド
プリンシパルのタイプ。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
audience

object (Audience)

オーディエンス。

相互に排他的なフィールドの終了。

オーディエンス

Google Chat のターゲット ユーザー。対象グループは、Google Workspace 組織内のユーザーのグループを表し、管理者が定義します。対象グループは、リソースのアクセス設定と公開設定を構成するために使用されます。たとえば、特定のユーザー グループがスペースを検出できるように設定できます。

詳しくは、対象グループと対象グループがスペースを検出できるようにするをご覧ください。

JSON 表現
{
  "name": string
}
フィールド
name

string

スペースを検索または参加できるターゲット ユーザーのリソース名。詳しくは、対象グループがスペースを検出できるようにするをご覧ください。形式: audiences/{audience}

Google Workspace 組織のデフォルトの対象グループを使用するには、audiences/default に設定します。

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)
  },
  "viewSpaceMembership": {
    object (PermissionSetting)
  }
}
フィールド
manageMembersAndGroups

object (PermissionSetting)

省略可。スペースのメンバーとグループを管理するための設定。

modifySpaceDetails

object (PermissionSetting)

省略可。スペースの名前、アバター、説明、ガイドラインを更新するための設定。

toggleHistory

object (PermissionSetting)

省略可。スペースの履歴のオンとオフを切り替える設定。

useAtMentionAll

object (PermissionSetting)

省略可。スペースで @all を使用するための設定。

manageApps

object (PermissionSetting)

省略可。スペース内のアプリを管理するための設定。

manageWebhooks

object (PermissionSetting)

省略可。スペースで Webhook を管理するための設定。

postMessages

object (PermissionSetting)

出力専用。スペースにメッセージを投稿するための設定。

replyMessages

object (PermissionSetting)

省略可。スペース内のメッセージに返信するための設定。

viewSpaceMembership

object (PermissionSetting)

省略可。スペース メンバーシップを表示するための設定。スペースのメンバーシップを表示できるユーザーを更新する場合は、更新マスクとリクエスト本文で AccessPermissionSettings.view_space_membership_setting と一緒に指定する必要があります。閲覧権限を特定のロール(スペースの管理者やアシスタント マネージャーなど)に制限する場合は、ここで目的のロール権限を指定し、同じリクエストで空の AccessPermissionSettings.view_space_membership_setting を指定します。AccessPermissionSettings.view_space_membership_setting でターゲット オーディエンスが構成されている場合、この設定はすべてのメンバーに付与する必要があります。

PermissionSetting

スペースの権限設定を表します。

JSON 表現
{
  "managersAllowed": boolean,
  "membersAllowed": boolean,
  "assistantManagersAllowed": boolean
}
フィールド
managersAllowed

boolean

省略可。スペースのオーナー(ROLE_MANAGER)にこの権限があるかどうか。

membersAllowed

boolean

省略可。基本スペースのメンバー(ROLE_MEMBER)にこの権限があるかどうか。

assistantManagersAllowed

boolean

省略可。スペースの管理者(ROLE_ASSISTANT_MANAGER)にこの権限があるかどうか。

SpaceSessionState

スペースのセッション状態。

列挙型
SPACE_SESSION_STATE_UNSPECIFIED 指定なし。使用しないでください。
NOT_SUPPORTED スペースはセッションをサポートしていません。
THREAD スペースはスレッドベースのセッションをサポートしています。

メソッド

completeImport

指定したスペースのインポート プロセスを完了し、ユーザーに表示されるようにします。

create

スペースを作成します。

delete

名前付きスペースを削除します。

findDirectMessage

指定したユーザーとの既存のダイレクト メッセージを返します。

findGroupChats

spaceType == GROUP_CHAT を含むすべてのスペースを返します。これらのスペースの人間メンバーシップには、呼び出し元ユーザーと FindGroupChatsRequest.users で指定されたユーザーが正確に含まれています。

get

スペースの詳細を返します。

list

呼び出し元がメンバーになっているスペースを一覧表示します。

patch

スペースを更新します。
Google Workspace 組織内のスペースのリストを返します。

setup

スペースを作成し、指定したユーザーをスペースに追加します。