Method: spaces.setup

Cria um espaço e adiciona os usuários especificados a ele. O usuário que faz a chamada é adicionado automaticamente ao espaço e não precisa ser especificado como uma associação na solicitação. Para conferir um exemplo, consulte Configurar um espaço com participantes iniciais.

Para especificar os participantes humanos a serem adicionados, adicione associações com o membership.member.name apropriado. Para adicionar um usuário humano, use users/{user}, em que {user} pode ser o endereço de e-mail do usuário. Para usuários na mesma organização do Workspace, {user} também pode ser o id da pessoa na API People ou o id do usuário na API Directory. Por exemplo, se o ID do perfil da pessoa da API People para user@example.com for 123456789, você poderá adicionar o usuário ao espaço definindo o membership.member.name como users/user@example.com ou users/123456789.

Para especificar os Grupos do Google a serem adicionados, adicione associações com o membership.group_member.name apropriado. Para adicionar ou convidar um Grupo do Google, use groups/{group}, em que {group} é o id do grupo da API Cloud Identity Groups. Por exemplo, você pode usar a API Cloud Identity Groups Lookup para recuperar o ID 123456789 do e-mail de grupo group@example.com. Em seguida, adicione o grupo ao espaço definindo o membership.group_member.name como groups/123456789. O e-mail do grupo não é compatível, e os Grupos do Google só podem ser adicionados como participantes em espaços nomeados.

Para um espaço nomeado ou um grupo de chat, se o autor da chamada bloquear ou for bloqueado por alguns participantes ou não tiver permissão para adicionar alguns participantes, esses participantes não serão adicionados ao espaço criado.

Para criar uma mensagem direta (MD) entre o usuário que faz a chamada e outro usuário humano, especifique exatamente uma associação para representar o usuário humano. Se um usuário bloquear o outro, a solicitação vai falhar e a mensagem direta não será criada.

Para criar uma mensagem direta entre o autor da chamada e o app de ligação, defina Space.singleUserBotDm como true e não especifique nenhuma associação. Só é possível usar esse método para configurar uma mensagem direta com o app de ligação. Para adicionar o app de ligação como membro de um Espaço ou de uma mensagem direta existente entre dois usuários humanos, consulte Convidar ou adicionar um usuário ou app a um espaço.

Se uma MD já existir entre dois usuários, mesmo que um usuário bloqueie o outro no momento em que uma solicitação é feita, a MD existente será retornada.

Não há suporte para espaços com respostas agrupadas. Se você receber a mensagem de erro ALREADY_EXISTS ao configurar um espaço, tente um displayName diferente. Um espaço existente na organização do Google Workspace já pode usar esse nome de exibição.

Requer autenticação do usuário com um dos seguintes escopos de autorização:

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

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "space": {
    object (Space)
  },
  "requestId": string,
  "memberships": [
    {
      object (Membership)
    }
  ]
}
Campos
space

object (Space)

Obrigatório. O campo Space.spaceType é obrigatório.

Para criar um espaço, defina Space.spaceType como SPACE e Space.displayName. Se você receber a mensagem de erro ALREADY_EXISTS ao configurar um espaço, tente um displayName diferente. Um espaço existente na organização do Google Workspace já pode usar esse nome de exibição.

Para criar um grupo de chat, defina Space.spaceType como GROUP_CHAT. Não defina Space.displayName.

Para criar uma conversa individual entre pessoas, defina Space.spaceType como DIRECT_MESSAGE e Space.singleUserBotDm como false. Não defina Space.displayName ou Space.spaceDetails.

Para criar uma conversa individual entre uma pessoa e o app Chat que faz a chamada, defina Space.spaceType como DIRECT_MESSAGE e Space.singleUserBotDm como true. Não defina Space.displayName ou Space.spaceDetails.

Se um espaço DIRECT_MESSAGE já existir, ele será retornado em vez de criar um novo espaço.

requestId

string

Opcional. Um ID exclusivo para essa solicitação. Um UUID aleatório é recomendado. Especificar um ID de solicitação torna a solicitação idempotente, o que garante que várias solicitações idênticas com o mesmo ID de solicitação resultem na criação de apenas um espaço. As solicitações subsequentes com o mesmo ID de solicitação retornam o espaço existente e não o atualizam, mesmo que os detalhes solicitados sejam diferentes do estado atual.

Para usar esse campo de maneira eficaz:

  • Garanta que as solicitações subsequentes sejam idênticas e usem as mesmas credenciais de autenticação da solicitação original.
  • Se um espaço já tiver sido criado com o ID de solicitação fornecido, a solicitação vai retornar esse espaço. O espaço retornado pode não estar totalmente preenchido. A API ecoa o espaço na solicitação com o nome do recurso atribuído pelo sistema. Para recuperar os metadados mais recentes do espaço, chame spaces.get.
  • A reutilização de um ID de solicitação existente com um usuário autenticado diferente resulta em um erro.
memberships[]

object (Membership)

Opcional. Os usuários ou grupos do Google Chat a serem convidados para participar do espaço. Omita o usuário que faz a chamada, porque ele é adicionado automaticamente.

O conjunto permite até 49 associações (além do autor da chamada).

Para a associação humana, o campo Membership.member precisa conter um user com name preenchido (formato: users/{user}) e type definido como User.Type.HUMAN. Só é possível adicionar usuários humanos ao configurar um espaço. A adição de apps do Chat só é compatível com a configuração de mensagens diretas com o app que faz a chamada. Também é possível adicionar participantes usando o e-mail do usuário como um alias para {user}. Por exemplo, o user.name pode ser users/example@gmail.com. Para convidar usuários do Gmail ou de domínios externos do Google Workspace, o e-mail do usuário precisa ser usado para {user}.

Para a associação ao grupo do Google, o campo Membership.group_member precisa conter um group com name preenchido (formato groups/{group}). Só é possível adicionar Grupos do Google ao definir Space.spaceType como SPACE.

Opcional ao definir Space.spaceType como SPACE.

Obrigatório ao definir Space.spaceType como GROUP_CHAT, junto com pelo menos duas associações.

Obrigatório ao definir Space.spaceType como DIRECT_MESSAGE com um usuário humano, junto com exatamente uma associação.

Precisa estar vazio ao criar uma conversa individual entre uma pessoa e o app Chat que faz a chamada (ao definir Space.spaceType como DIRECT_MESSAGE e Space.singleUserBotDm como true).

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Space.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

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

Para mais informações, consulte o guia de autorização.