Neste guia, explicamos como usar o método setup
no recurso Space
da
API Google Chat para configurar um espaço do Google Chat. A configuração cria um espaço
e adiciona usuários específicos a ele.
O
recurso Space
representa um lugar onde as pessoas e os apps de chat podem enviar mensagens,
compartilhar arquivos e colaborar. Existem vários tipos de espaços:
- As mensagens diretas são conversas entre dois usuários ou um usuário e um app do Chat.
- Chats em grupo são conversas entre três ou mais usuários e apps do Chat.
- Os espaços nomeados são lugares persistentes onde as pessoas enviam mensagens, compartilham arquivos e colaboram.
Ao configurar um espaço, considere o seguinte:
- O usuário (autenticado) que faz a chamada é automaticamente adicionado ao espaço. Dessa forma, não é necessário especificar a associação do usuário na solicitação.
- Ao criar uma mensagem direta, se existir uma mensagem direta entre dois usuários, ela será retornada. Caso contrário, uma mensagem direta será criada.
- Durante a criação de um chat em grupo, se nenhuma das associações fornecidas na solicitação for adicionada ao chat em grupo (por exemplo, problema de permissão), um chat em grupo vazio poderá ser criado (incluindo apenas o usuário que fez a chamada).
- Não é possível configurar espaços com respostas agrupadas nem adicionar pessoas fora do Google Workspace.
- As associações duplicadas (incluindo o usuário que fez a chamada) fornecidas na solicitação são filtradas em vez de resultar em um erro de solicitação.
Pré-requisitos
Python
- Python 3.6 ou superior
- A ferramenta de gerenciamento de pacotes pip
As bibliotecas de cliente mais recentes do Google para Python. Para instalar ou atualizar, execute o seguinte na interface de linha de comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Um projeto do Google Cloud com a API Google Chat ativada e configurada. Veja as etapas em Criar um app do Google Chat.
Autorização configurada para o app do Chat. A configuração de um espaço requer a autenticação do usuário com o escopo de autorização
chat.spaces.create
ouchat.spaces
.
Node.js
- Node.js e npm
As bibliotecas de cliente mais recentes do Google para Node.js. Para instalá-los, execute o seguinte comando na interface de linha de comando:
npm install @google-cloud/local-auth @googleapis/chat
- Um projeto do Google Cloud com a API Google Chat ativada e configurada. Veja as etapas em Criar um app do Google Chat.
Autorização configurada para o app do Chat. A criação de um espaço requer a autenticação do usuário com o escopo de autorização
chat.spaces.create
ouchat.spaces
.
Configurar um espaço
Para configurar um espaço, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.spaces.create
ouchat.spaces
. - Chame o
método
setup
no recursoSpace
. - Para adicionar um usuário humano como participante do espaço, especifique
users/{user}
, em que{user}
é o{person_id}
doperson
da API People ou o ID de umauser
na API Directory. Por exemplo, se a pessoaresourceName
da API People forpeople/123456789
, você poderá adicionar o usuário ao espaço incluindo uma associação comusers/123456789
comomember.name
. - Para criar uma mensagem direta entre o usuário que faz a chamada e outro usuário humano, especifique a associação do usuário humano na solicitação.
- Para criar uma mensagem direta entre o usuário que fez a chamada e o app de chamada, defina
Space.singleUserBotDm
comotrue
e não especifique nenhuma associação. Só é possível usar esse método para configurar uma mensagem direta com o app de chamada. Para adicioná-lo como membro de um espaço ou como uma mensagem direta entre dois usuários humanos, consulte Criar uma assinatura.
No exemplo a seguir, criamos um espaço nomeado e associações a ele para três usuários humanos, o usuário autenticado e outros dois usuários especificados:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_space_setup.py
. Inclua o seguinte código em
chat_space_setup.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The people and app to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } } ] } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
No diretório de trabalho, crie e execute a amostra:
python3 chat_space_setup.py
Node.js
- No diretório de trabalho, crie um arquivo chamado
setup-space.js
. Inclua o seguinte código em
setup-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, ] } }); } setupSpace().then(console.log);
No diretório de trabalho, execute o exemplo:
node setup-space.js
É configurado um espaço de chat nomeado com três usuários humanos, incluindo o usuário autenticado.
Para acessar o espaço, use o ID do recurso para criar o URL.
Você pode encontrar o ID do recurso do espaço name
no corpo da resposta do
Google Chat. Por exemplo, se o name
do espaço for spaces/1234567
, você pode acessá-lo
usando o seguinte URL:
https://mail.google.com/chat/u/0/#chat/space/1234567
.
Temas relacionados
- Crie um espaço.
- Ver detalhes sobre um espaço.
- Listar espaços.
- Atualizar um espaço.
- Excluir um espaço.
- Encontre um espaço de mensagens diretas.