Method: spaces.setup

Tworzy pokój i dodaje do niego określonych użytkowników. Użytkownik wywołujący jest automatycznie dodawany do pokoju i nie powinien być określony jako członek w żądaniu. Przykład znajdziesz w artykule Konfigurowanie pokoju z początkowymi członkami.

Aby określić osoby, które mają zostać dodane, dodaj członkostwo z odpowiednim polem membership.member.name. Aby dodać użytkownika, użyj users/{user}, gdzie {user} może być adresem e-mail użytkownika. W przypadku użytkowników w tej samej organizacji Google Workspace {user} może być też id osoby z interfejsu People API lub id użytkownika w interfejsie Directory API. Jeśli na przykład identyfikator profilu osoby w interfejsie People API dla user@example.com to 123456789, możesz dodać użytkownika do pokoju, ustawiając membership.member.name na users/user@example.com lub users/123456789.

Aby określić grupy dyskusyjne Google, które mają zostać dodane, dodaj członkostwo z odpowiednim polem membership.group_member.name. Aby dodać lub zaprosić grupę dyskusyjną Google, użyj groups/{group}, gdzie {group} to id grupy z interfejsu Cloud Identity Groups API. Możesz na przykład użyć interfejsu Cloud Identity Groups lookup API, aby pobrać identyfikator 123456789 dla adresu e-mail grupy group@example.com, a następnie dodać grupę do pokoju, ustawiając membership.group_member.name na groups/123456789. Adres e-mail grupy nie jest obsługiwany, a grupy dyskusyjne Google można dodawać tylko jako członków w pokojach nazwanych.

Jeśli w przypadku pokoju nazwanego lub czatu grupowego osoba wywołująca zablokuje niektórych członków lub zostanie przez nich zablokowana albo nie ma uprawnień do dodawania niektórych członków, ci członkowie nie zostaną dodani do utworzonego pokoju.

Aby utworzyć czat między użytkownikiem wywołującym a innym użytkownikiem, określ dokładnie 1 członkostwo reprezentujące użytkownika. Jeśli jeden użytkownik zablokuje drugiego, żądanie się nie powiedzie i czat nie zostanie utworzony.

Aby utworzyć czat między użytkownikiem wywołującym a aplikacją wywołującą, ustaw Space.singleUserBotDm na true i nie określaj żadnego członkostwa. Tej metody możesz używać tylko do konfigurowania czatu z aplikacją wywołującą. Aby dodać aplikację wywołującą jako członka pokoju lub istniejącego czatu między 2 użytkownikami, przeczytaj artykuł Zapraszanie lub dodawanie użytkownika albo aplikacji do pokoju.

Jeśli między 2 użytkownikami istnieje już czat, nawet jeśli jeden z nich zablokuje drugiego w momencie wysłania żądania, zostanie zwrócony istniejący czat.

Pokoje z odpowiedziami w wątkach nie są obsługiwane. Jeśli podczas konfigurowania pokoju pojawi się komunikat o błędzie ALREADY_EXISTS, spróbuj użyć innej wartości displayName. Ta wyświetlana nazwa może być już używana w istniejącym pokoju w organizacji Google Workspace.

Wymaga uwierzytelnienia użytkownika z użyciem jednego z tych zakresów autoryzacji:

  • https://www.googleapis.com/auth/chat.spaces.create
  • https://www.googleapis.com/auth/chat.spaces

Żądanie HTTP

POST https://chat.googleapis.com/v1/spaces:setup

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "space": {
    object (Space)
  },
  "requestId": string,
  "memberships": [
    {
      object (Membership)
    }
  ]
}
Pola
space

object (Space)

Wymagane. Pole Space.spaceType jest wymagane.

Aby utworzyć pokój, ustaw Space.spaceType na SPACE i Space.displayName. Jeśli podczas konfigurowania pokoju pojawi się komunikat o błędzie ALREADY_EXISTS, spróbuj użyć innej wartości displayName. Ta wyświetlana nazwa może być już używana w istniejącym pokoju w organizacji Google Workspace.

Aby utworzyć czat grupowy, ustaw Space.spaceType na GROUP_CHAT. Nie ustawiaj Space.displayName.

Aby utworzyć rozmowę między 2 osobami, ustaw Space.spaceType na DIRECT_MESSAGE i Space.singleUserBotDm na false. Nie ustawiaj Space.displayName ani Space.spaceDetails.

Aby utworzyć rozmowę między osobą a aplikacją Google Chat, ustaw Space.spaceType na DIRECT_MESSAGE i Space.singleUserBotDm na true. Nie ustawiaj Space.displayName ani Space.spaceDetails.

Jeśli pokój DIRECT_MESSAGE już istnieje, zamiast tworzyć nowy pokój, zostanie zwrócony ten pokój.

requestId

string

Opcjonalnie. Unikalny identyfikator tego żądania. Zalecany jest losowy identyfikator UUID. Określenie identyfikatora żądania sprawia, że żądanie jest idempotentne, co oznacza, że wiele identycznych żądań z tym samym identyfikatorem żądania spowoduje utworzenie tylko jednego pokoju. Kolejne żądania z tym samym identyfikatorem żądania zwracają istniejący pokój i nie aktualizują go, nawet jeśli żądane szczegóły różnią się od bieżącego stanu.

Aby skutecznie korzystać z tego pola:

  • Upewnij się, że kolejne żądania są identyczne i używają tych samych danych uwierzytelniających co pierwotne żądanie.
  • Jeśli pokój został już utworzony z podanym identyfikatorem żądania, żądanie zwróci ten pokój. Pamiętaj, że zwrócony pokój może nie być w pełni wypełniony. Interfejs API odzwierciedla pokój w żądaniu z wypełnioną nazwą zasobu przypisaną przez system. Aby pobrać najnowsze metadane pokoju, wywołaj spaces.get.
  • Ponowne użycie istniejącego identyfikatora żądania z innym uwierzytelnionym użytkownikiem spowoduje błąd.
memberships[]

object (Membership)

Opcjonalnie. Użytkownicy lub grupy dyskusyjne Google Chat, które mają zostać zaproszone do pokoju. Pomiń użytkownika wywołującego, ponieważ zostanie on dodany automatycznie.

Obecnie zestaw zezwala na maksymalnie 49 członkostw (oprócz osoby wywołującej).

W przypadku członkostwa osoby pole Membership.member musi zawierać user z wypełnionym polem name (format: users/{user}) i polem type ustawionym na User.Type.HUMAN. Podczas konfigurowania pokoju możesz dodawać tylko osoby (dodawanie aplikacji Google Chat jest obsługiwane tylko w przypadku konfigurowania czatu z aplikacją wywołującą). Możesz też dodawać członków, używając adresu e-mail użytkownika jako aliasu dla {user}. Na przykład user.name może mieć wartość users/example@gmail.com. Aby zaprosić użytkowników Gmaila lub użytkowników z zewnętrznych domen Google Workspace, w przypadku {user} należy użyć adresu e-mail użytkownika.

W przypadku członkostwa w grupie dyskusyjnej Google pole Membership.group_member musi zawierać group z wypełnionym polem name (format groups/{group}). Grupy dyskusyjne Google możesz dodawać tylko wtedy, gdy ustawisz Space.spaceType na SPACE.

Opcjonalne, gdy ustawisz Space.spaceType na SPACE.

Wymagane, gdy ustawisz Space.spaceType na GROUP_CHAT, wraz z co najmniej 2 członkostwami.

Wymagane, gdy ustawisz Space.spaceType na DIRECT_MESSAGE z użytkownikiem, wraz z dokładnie 1 członkostwem.

Podczas tworzenia rozmowy między osobą a aplikacją Google Chat (gdy ustawisz Space.spaceType na DIRECT_MESSAGE i Space.singleUserBotDm na true) musi być puste.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Space.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.create

Więcej informacji znajdziesz w przewodniku po autoryzacji.