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

  "predefinedPermissionSettings": enum (PredefinedPermissionSettings),
  "permissionSettings": {
    object (PermissionSettings)
  }
}
필드
name

string

식별자. 스페이스의 리소스 이름입니다.

형식: spaces/{space}

여기서 {space}는 시스템에서 할당한 스페이스 ID를 나타냅니다. spaces.list() 메서드를 호출하거나 스페이스 URL에서 스페이스 ID를 가져올 수 있습니다. 예를 들어 스페이스 URL이 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

선택사항입니다. 스페이스의 표시 이름입니다. 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인 경우에만 채워집니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
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

대화목록을 지원하지 않는 스페이스 이 스페이스 대화목록 상태는 다음과 같은 특수한 경우에만 사용됩니다.

  • 대화목록이 의도적으로 사용 중지된 회의 그룹 상시 채팅
  • 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)
  }
}
필드
주 구성원 유형입니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
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)

선택사항입니다. 스페이스에서 웹훅을 관리하는 설정입니다.

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

스페이스를 만들고 지정된 사용자를 추가합니다.