REST Resource: spaces

リソース: Space

Google Chat のスペース。スペースは、複数のユーザー間の会話や、ユーザーと 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,
  "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。Space のリソース名。

形式: 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

省略可。スペースの表示名。spaceTypeSPACEスペースを作成する場合は必須です。スペースの作成時や 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 で作成されたスペースの場合は、スペースが作成された時刻。このフィールドは、インポートモードのスペースで使用する場合を除き、出力専用です。

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

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

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} 形式で指定します。ここで、customer は [Admin SDK の顧客リソース]( https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers)id です。限定公開アプリは、customers/my_customer エイリアスを使用して、アプリと同じ Google Workspace 組織にスペースを作成することもできます。

DM の場合、このフィールドは入力されません。

共用体フィールド space_permission_settings。スペースの権限設定を表します。space_typeSPACE の場合にのみ入力されます。space_permission_settings は次のいずれかになります。
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

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

事前定義された権限設定では、次のことがサポートされています。

permissionSettings

object (PermissionSettings)

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

権限設定の読み取りと更新は、次の権限をサポートしています。

タイプ

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

列挙型
TYPE_UNSPECIFIED 予約済み。
ROOM 2 人以上の人間との会話。
DM 人間と Chat アプリ間の 1 対 1 のダイレクト メッセージ。すべてのメッセージがフラットです。ただし、人間同士のダイレクト メッセージは含まれません。

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 2 人間のダイレクト メッセージ(DM)と、3 人以上のグループ会話。

SpaceDetails

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

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

string

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

最大 150 文字をサポートします。

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
}
フィールド
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)

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

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

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