REST Resource: spaces

Zasób: pokój

Pokoju w Google Chat. Pokoje to rozmowy między co najmniej 2 użytkownikami lub wiadomości 1:1 między użytkownikiem a aplikacją do Google Chat.

Zapis 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)
  }
}
Pola
name

string

Identyfikator. Nazwa zasobu pokoju.

Format: spaces/{space}

Gdzie {space} reprezentuje przypisany przez system identyfikator pokoju. Identyfikator pokoju możesz uzyskać, wywołując metodę spaces.list() lub z adresu URL pokoju. Jeśli na przykład adres URL pokoju to https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA, identyfikator pokoju to AAAAAAAAA.

type
(deprecated)

enum (Type)

Tylko dane wyjściowe. Wycofana: użyj zasady spaceType. Typ pokoju.

spaceType

enum (SpaceType)

Opcjonalnie: Typ pokoju. Wymagane podczas tworzenia pokoju lub aktualizowania jego typu. Tylko dane wyjściowe do innego wykorzystania.

singleUserBotDm

boolean

Opcjonalnie: Czy pokój jest czatem między aplikacją Google Chat a jedną osobą.

threaded
(deprecated)

boolean

Tylko dane wyjściowe. Wycofana: użyj zasady spaceThreadingState. Określa, czy wiadomości w tym pokoju są pogrupowane w wątki.

displayName

string

Opcjonalnie: Wyświetlana nazwa pokoju. Wymagane podczas tworzenia pokoju z wartością spaceType równą SPACE. Jeśli podczas tworzenia pokoju lub aktualizowania displayName pojawi się komunikat o błędzie ALREADY_EXISTS, spróbuj użyć innego displayName. Istniejący pokój w organizacji Google Workspace może już używać tej wyświetlanej nazwy.

W przypadku czatów to pole może być puste.

Może mieć do 128 znaków.

externalUserAllowed

boolean

Opcjonalnie: Wartość niezmienna. Określa, czy ten pokój zezwala na dołączenie dowolnego użytkownika Google Chat. Dane wejściowe podczas tworzenia pokoju w organizacji Google Workspace. Pomiń to pole podczas tworzenia pokoi w tych warunkach:

  • Uwierzytelniony użytkownik korzysta z konta indywidualnego (niezarządzanego konta użytkownika). Domyślnie pokój utworzony przez konto użytkownika indywidualnego jest dostępny dla każdego użytkownika Google Chat.

W przypadku istniejących pokoi to pole jest tylko do odczytu.

spaceThreadingState

enum (SpaceThreadingState)

Tylko dane wyjściowe. Stan wątków w pokoju czatu.

spaceDetails

object (SpaceDetails)

Opcjonalnie: szczegóły dotyczące pokoju, w tym opis i zasady;

spaceHistoryState

enum (HistoryState)

Opcjonalnie: Stan historii wiadomości i wątków w tym pokoju.

importMode

boolean

Opcjonalnie: Czy ten pokój został utworzony w Import Mode w ramach migracji danych do Google Workspace. Podczas importowania pokoje nie są widoczne dla użytkowników, dopóki importowanie nie zostanie zakończone.

Tworzenie obszaru w Import Mode wymaga uwierzytelnienia użytkownika.

createTime

string (Timestamp format)

Opcjonalnie: Wartość niezmienna. W przypadku pokoi utworzonych w Google Chat – czas utworzenia pokoju. To pole jest tylko do odczytu, chyba że jest używane w pokojach w trybie importowania.

W przypadku pokoi w trybie importowania ustaw to pole na historyczną sygnaturę czasową, kiedy pokój został utworzony w źródle, aby zachować pierwotny czas utworzenia.

Wartość jest podawana w danych wyjściowych tylko wtedy, gdy spaceType to GROUP_CHAT lub SPACE.

lastActiveTime

string (Timestamp format)

Tylko dane wyjściowe. Sygnatura czasowa ostatniej wiadomości w pokoju.

adminInstalled

boolean

Tylko dane wyjściowe. W przypadku pokoi do czatu z aplikacją Google Chat – czy pokój został utworzony przez administratora Google Workspace. Administratorzy mogą instalować i konfigurować czaty z aplikacją Google Chat w imieniu użytkowników w organizacji.

Aby umożliwić instalację przez administratora, aplikacja Google Chat musi obsługiwać czaty.

membershipCount

object (MembershipCount)

Tylko dane wyjściowe. Liczba dołączonych subskrypcji pogrupowana według rodzaju subskrypcji. Wypełniane, gdy spaceType ma wartość SPACE, DIRECT_MESSAGE lub GROUP_CHAT.

accessSettings

object (AccessSettings)

Opcjonalnie: Określa ustawienie dostępu do pokoju. Wartość jest podawana tylko wtedy, gdy spaceType to SPACE.

spaceUri

string

Tylko dane wyjściowe. Identyfikator URI, za pomocą którego użytkownik może uzyskać dostęp do pokoju.

sessionState

enum (SpaceSessionState)

Tylko dane wyjściowe. Stan sesji pokoju.

sessionEnableTime

string (Timestamp format)

Tylko dane wyjściowe. Sygnatura czasowa, kiedy stan obsługi sesji w pokoju zmienia się na obsługiwany. Nie ustawiono, jeśli pokój nie ma włączonej obsługi sesji.

importModeExpireTime

string (Timestamp format)

Tylko dane wyjściowe. Czas, po którym pokój zostanie automatycznie usunięty przez system, jeśli pozostanie w trybie importowania.

Każdy pokój utworzony w trybie importowania musi wyjść z tego trybu przed upływem tego czasu za pomocą spaces.completeImport.

To pole jest wypełniane tylko w przypadku pokoi utworzonych w trybie importowania.

customer

string

Opcjonalnie: Wartość niezmienna. Identyfikator klienta domeny pokoju. Wymagane tylko podczas tworzenia pokoju z uwierzytelnianiem aplikacji, gdy SpaceType to SPACE. W przeciwnym razie nie należy ustawiać.

W formacie customers/{customer}, gdzie customer to id z zasobu klienta pakietu Admin SDK. Aplikacje prywatne mogą też używać aliasu customers/my_customer, aby utworzyć pokój w tej samej organizacji Google Workspace co aplikacja.

To pole nie jest wypełniane w przypadku czatów ani pokoi utworzonych przez użytkowników, którzy nie korzystają z Google Workspace.

Reprezentuje zbiór uprawnień pokoju. Wartość jest podawana tylko wtedy, gdy space_type to SPACE. Poniżej znajduje się lista pól, które wykluczają się nawzajem. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
predefinedPermissionSettings

enum (PredefinedPermissionSettings)

Opcjonalnie: Tylko dane wejściowe. Wstępnie zdefiniowane zbiory uprawnień do pokoju, wprowadzane tylko podczas tworzenia pokoju. Jeśli pole nie jest ustawione, tworzony jest obszar współpracy. Po utworzeniu przestrzeni ustawienia zostaną wypełnione w polu PermissionSettings.

Ustawienie wstępnie zdefiniowanych zbiorów uprawnień obsługuje:

permissionSettings

object (PermissionSettings)

Opcjonalnie: Ustawienia uprawnień w dotychczasowych pokojach. Dane wejściowe do aktualizowania dokładnych ustawień uprawnień do pokoju, w których istniejące ustawienia uprawnień są zastępowane. Dane wyjściowe zawierają listę bieżących ustawień uprawnień.

Odczytywanie i aktualizowanie ustawień uprawnień obsługuje:

Koniec pól wykluczających się wzajemnie.

Typ

Wycofana: użyj zasady SpaceType.

Wartości w polu enum
TYPE_UNSPECIFIED Zarezerwowane.
ROOM Rozmowy między co najmniej 2 osobami.
DM Czat indywidualny między człowiekiem a aplikacją do Google Chat, w którym wszystkie wiadomości są płaskie. Nie obejmuje to czatów między 2 osobami.

SpaceType

Typ pokoju. Wymagane podczas tworzenia lub aktualizowania pokoju. Tylko dane wyjściowe do innego wykorzystania.

Wartości w polu enum
SPACE_TYPE_UNSPECIFIED Zarezerwowane.
SPACE Miejsce, w którym użytkownicy wysyłają wiadomości, udostępniają pliki i współpracują. SPACE może zawierać aplikacje do Google Chat.
GROUP_CHAT Rozmowy grupowe z co najmniej 3 osobami. GROUP_CHAT może zawierać aplikacje do Google Chat.
DIRECT_MESSAGE wiadomości 1:1 między 2 osobami lub osobą i aplikacją Google Chat;

SpaceThreadingState

Określa typ stanu wątków w pokoju czatu.

Wartości w polu enum
SPACE_THREADING_STATE_UNSPECIFIED Zarezerwowane.
THREADED_MESSAGES pokoje, które obsługują wątki wiadomości; Gdy użytkownicy odpowiadają na wiadomość, mogą to zrobić w wątku, co pozwala zachować kontekst oryginalnej wiadomości.
GROUPED_MESSAGES pokoje z nazwą, w których rozmowy są uporządkowane według tematów; Tematy i odpowiedzi na nie są połączone w grupy.
UNTHREADED_MESSAGES

pokoje, które nie obsługują wątków wiadomości; Ten stan wątków w pokoju jest używany tylko w szczególnych przypadkach, takich jak:

  • Ciągły czat spotkania, w którym wątki są celowo wyłączone.
  • starsze rozmowy grupowe utworzone przed 2022 r.

SpaceDetails

szczegóły dotyczące pokoju, w tym opis i zasady;

Zapis JSON
{
  "description": string,
  "guidelines": string
}
Pola
description

string

Opcjonalnie: Opis pokoju. Możesz na przykład opisać temat dyskusji, cel lub uczestników pokoju.

Może zawierać maksymalnie 4096 znaków.

guidelines

string

Opcjonalnie: zasady, oczekiwania i etykietę obowiązujące w pokoju;

Może zawierać maksymalnie 5000 znaków.

HistoryState

Stan historii wiadomości i pokoi. Określa, jak długo wiadomości i wątki rozmów są przechowywane po utworzeniu.

Wartości w polu enum
HISTORY_STATE_UNSPECIFIED Wartość domyślna. Nie używać.
HISTORY_OFF Historia wyłączona. Wiadomości i wątki są przechowywane przez 24 godziny.
HISTORY_ON Historia włączona. Reguły przechowywania Vault organizacji określają, jak długo wiadomości i wątki są przechowywane.

MembershipCount

Reprezentuje liczbę użytkowników pokoju, pogrupowanych według kategorii.

Zapis JSON
{
  "joinedDirectHumanUserCount": integer,
  "joinedGroupCount": integer
}
Pola
joinedDirectHumanUserCount

integer

Tylko dane wyjściowe. Liczba użytkowników, którzy bezpośrednio dołączyli do pokoju, nie licząc użytkowników, którzy dołączyli przez członkostwo w grupie.

joinedGroupCount

integer

Tylko dane wyjściowe. Liczba wszystkich grup, które bezpośrednio dołączyły do pokoju.

AccessSettings

Reprezentuje ustawienie dostępu do pokoju.

Zapis JSON
{
  "accessState": enum (AccessState),
  "audience": string,
  "accessPermissionSettings": {
    object (AccessPermissionSettings)
  }
}
Pola
accessState

enum (AccessState)

Tylko dane wyjściowe. Wskazuje stan dostępu do pokoju.

audience

string

Opcjonalnie: Nazwa zasobu docelowych odbiorców, którzy mogą znaleźć pokój, dołączyć do niego i wyświetlać podgląd wiadomości w pokoju. Jeśli nie ustawisz tej opcji, dostęp do pokoju będą mieć tylko użytkownicy lub grupy dyskusyjne Google, którzy zostali indywidualnie zaproszeni lub dodani do pokoju. Więcej informacji znajdziesz w artykule Udostępnianie pokoju docelowym odbiorcom.

Format: audiences/{audience}

Aby używać domyślnej grupy odbiorców w organizacji Google Workspace, ustaw wartość audiences/default.

Odczytywanie docelowych odbiorców obsługuje:

To pole nie jest wypełniane, gdy używasz zakresu chat.bot z uwierzytelnianiem aplikacji.

Ustawienie docelowych odbiorców wymaga uwierzytelnienia użytkownika.

accessPermissionSettings

object (AccessPermissionSettings)

Opcjonalnie: Ustawienia uprawnień dostępu do pokoju.

Aby ustawić docelowych odbiorców podczas tworzenia pokoju, określ pole accessSettings.audience w żądaniu.

AccessState

Reprezentuje stan dostępu do pokoju.

Wartości w polu enum
ACCESS_STATE_UNSPECIFIED Stan dostępu jest nieznany lub nieobsługiwany w tym interfejsie API.
PRIVATE Tylko użytkownicy lub Grupy dyskusyjne Google, którzy zostali dodani lub zaproszeni przez innych użytkowników lub administratorów Google Workspace, mogą znaleźć pokój i uzyskać do niego dostęp.
DISCOVERABLE

Menedżer pokoju przyznał docelowym odbiorcom dostęp do pokoju. Użytkownicy lub grupy dyskusyjne Google, którzy zostali dodani lub zaproszeni do pokoju, również mogą go znaleźć i uzyskać do niego dostęp. Więcej informacji znajdziesz w artykule Udostępnianie pokoju określonym użytkownikom.

Tworzenie pokoi możliwych do znalezienia wymaga uwierzytelniania użytkowników.

AccessPermissionSettings

mieć dostęp do ustawień uprawnień pokoju;

Zapis JSON
{
  "discoverSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "joinSpaceSetting": {
    object (AccessPermissionSetting)
  },
  "viewSpaceMembershipSetting": {
    object (AccessPermissionSetting)
  }
}
Pola
discoverSpaceSetting

object (AccessPermissionSetting)

Opcjonalnie: Ustawienie uprawnień dostępu do znajdowania pokoju.

joinSpaceSetting

object (AccessPermissionSetting)

Opcjonalnie: Ustawienie uprawnień dostępu do pokoju.

viewSpaceMembershipSetting

object (AccessPermissionSetting)

Opcjonalnie: Ustawienie uprawnień dostępu do wyświetlania użytkowników pokoju. Podczas aktualizowania informacji o tym, kto może wyświetlać subskrypcję pokoju, należy określić tę wartość razem z PermissionSettings.view_space_membership w masce aktualizacji i treści żądania. Przyznając uprawnienia do wyświetlania docelowym odbiorcom, musisz też przyznać uprawnienia PermissionSettings.view_space_membership wszystkim kontom (należącym do grupy/zbioru/zasobu) w tym samym żądaniu. Aby usunąć istniejących docelowych odbiorców (na przykład w celu ograniczenia uprawnień do wyświetlania tylko do menedżerów pokoju lub asystentów menedżera), określ pusty parametr AccessPermissionSetting (bez principals).

AccessPermissionSetting

ustawienie uprawnień dostępu,

Zapis JSON
{
  "principals": [
    {
      object (Principal)
    }
  ]
}
Pola
principals[]

object (Principal)

Opcjonalnie: Lista nieuporządkowana. Dozwolone podmioty zabezpieczeń dla tego uprawnienia.

Podmiot zabezpieczeń

Podmiot zabezpieczeń reprezentujący podmiot, któremu przyznano dostęp.

Zapis JSON
{

  "audience": {
    object (Audience)
  }
}
Pola
Typ podmiotu zabezpieczeń. Poniżej znajduje się lista pól, które wykluczają się nawzajem. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
audience

object (Audience)

Odbiorcy.

Koniec pól wykluczających się wzajemnie.

Odbiorcy

docelowych odbiorców w Google Chat, Docelowi odbiorcy to grupa użytkowników w organizacji Google Workspace zdefiniowana przez administratora. Grupy odbiorców służą do konfigurowania ustawień dostępu i widoczności zasobów, np. do udostępniania pokoju określonej grupie użytkowników.

Więcej informacji znajdziesz w artykułach Docelowi odbiorcy i Ustawianie pokoju jako możliwego do znalezienia przez docelowych odbiorców.

Zapis JSON
{
  "name": string
}
Pola
name

string

Nazwa zasobu docelowych odbiorców, którzy mogą znaleźć pokój lub do niego dołączyć. Więcej informacji znajdziesz w artykule Udostępnianie pokoju docelowym odbiorcom. Format: audiences/{audience}

Aby używać domyślnej grupy odbiorców w organizacji Google Workspace, ustaw wartość audiences/default.

PredefinedPermissionSettings

Wstępnie zdefiniowane zbiory uprawnień, które można określić tylko podczas tworzenia pokoju z nazwą. W przyszłości możemy dodać więcej ustawień. Szczegółowe informacje o ustawieniach uprawnień w pokojach nazwanych znajdziesz w artykule Więcej informacji o pokojach.

Wartości w polu enum
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED Nie określono. Nie używaj.
COLLABORATION_SPACE Ustawienie, które sprawia, że pokój jest pokojem do współpracy, w którym wszyscy użytkownicy mogą publikować wiadomości.
ANNOUNCEMENT_SPACE Ustawienie, które pozwala przekształcić pokój w pokój z ogłoszeniami, w którym tylko menedżerowie pokoju mogą publikować wiadomości.

PermissionSettings

Ustawienia uprawnień, które możesz określić podczas aktualizowania istniejącego pokoju z nazwą.

Aby skonfigurować ustawienia uprawnień podczas tworzenia pokoju, określ w żądaniu pole PredefinedPermissionSettings.

Zapis 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)
  }
}
Pola
manageMembersAndGroups

object (PermissionSetting)

Opcjonalnie: Ustawienie umożliwiające zarządzanie użytkownikami i grupami w pokoju.

modifySpaceDetails

object (PermissionSetting)

Opcjonalnie: Ustawienie umożliwiające aktualizowanie nazwy pokoju, awatara, opisu i wytycznych.

toggleHistory

object (PermissionSetting)

Opcjonalnie: Ustawienie umożliwiające włączanie i wyłączanie historii pokoju.

useAtMentionAll

object (PermissionSetting)

Opcjonalnie: Ustawienie dotyczące używania @all w pokoju.

manageApps

object (PermissionSetting)

Opcjonalnie: Ustawienie zarządzania aplikacjami w pokoju.

manageWebhooks

object (PermissionSetting)

Opcjonalnie: Ustawienie zarządzania webhookami w pokoju.

postMessages

object (PermissionSetting)

Tylko dane wyjściowe. Ustawienie publikowania wiadomości w pokoju.

replyMessages

object (PermissionSetting)

Opcjonalnie: Ustawienie odpowiadania na wiadomości w pokoju.

viewSpaceMembership

object (PermissionSetting)

Opcjonalnie: Ustawienie wyświetlania użytkowników pokoju. Podczas aktualizowania informacji o tym, kto może wyświetlać subskrypcję pokoju, należy określić tę wartość razem z AccessPermissionSettings.view_space_membership_setting w masce aktualizacji i treści żądania. Jeśli ograniczasz uprawnienia do wyświetlania do określonych ról (np. tylko menedżerów pokoju lub asystentów menedżera), określ tutaj odpowiednie uprawnienia roli i podaj pusty parametr AccessPermissionSettings.view_space_membership_setting w tym samym żądaniu. Jeśli w usłudze AccessPermissionSettings.view_space_membership_setting skonfigurowano docelowych odbiorców, to ustawienie musi być przyznane wszystkim użytkownikom.

PermissionSetting

Reprezentuje ustawienie uprawnień pokoju.

Zapis JSON
{
  "managersAllowed": boolean,
  "membersAllowed": boolean,
  "assistantManagersAllowed": boolean
}
Pola
managersAllowed

boolean

Opcjonalnie: Czy właściciele pokoju (ROLE_MANAGER) mają to uprawnienie.

membersAllowed

boolean

Opcjonalnie: Czy zwykli użytkownicy pokoju (ROLE_MEMBER) mają to uprawnienie.

assistantManagersAllowed

boolean

Opcjonalnie: Czy menedżerowie pokoju (ROLE_ASSISTANT_MANAGER) mają to uprawnienie.

SpaceSessionState

Stan sesji pokoju.

Wartości w polu enum
SPACE_SESSION_STATE_UNSPECIFIED Nie określono. Nie używaj.
NOT_SUPPORTED Pokój nie obsługuje sesji.
THREAD Pokój obsługuje sesje oparte na wątkach.

Metody

completeImport

Kończy proces importowania określonego pokoju i udostępnia go użytkownikom.

create

Tworzy pokój.

delete

Usuwa pokój z nazwą.

findDirectMessage

Zwraca istniejącą wiadomość na czacie z określonym użytkownikiem.

findGroupChats

Zwraca wszystkie pokoje z spaceType == GROUP_CHAT, których użytkownicy to dokładnie wywołujący użytkownik i użytkownicy określeni w FindGroupChatsRequest.users.

get

Zwraca szczegółowe informacje o pokoju.

list

Wyświetla listę pokoi, do których należy rozmówca.

patch

Aktualizuje pokój.
Zwraca listę pokoi w organizacji Google Workspace.

setup

Tworzy pokój i dodaje do niego określonych użytkowników.