Excluir um espaço

Este guia explica como usar o método delete() no recurso Space da API Google Chat para excluir um espaço nomeado quando ele não for mais necessário. Ao excluir um espaço, você também exclui tudo o que ele contém, incluindo mensagens e anexos.

Se você for admin do Google Workspace, poderá chamar o método delete() para excluir qualquer espaço nomeado na sua organização do Google Workspace.

O recurso Space representa um lugar onde pessoas e apps do Chat podem enviar mensagens, compartilhar arquivos e colaborar. Há vários tipos de espaços:

  • As mensagens diretas (DMs) são conversas entre dois usuários ou entre um usuário e um app do Chat.
  • Os chats em grupo são conversas entre três ou mais usuários e apps de chat.
  • Os espaços nomeados são lugares permanentes onde as pessoas enviam mensagens, compartilham arquivos e colaboram.

Pré-requisitos

Node.js

Excluir um espaço nomeado como usuário

Para excluir um espaço no Google Chat com autenticação de usuário, transmita o seguinte na sua solicitação:

  • Especifique o escopo de autorização chat.delete.
  • Chame o método DeleteSpace().
  • Transmita o name do espaço a ser excluído.

Veja como excluir um espaço:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Para executar este exemplo, substitua SPACE_NAME pelo ID do campo name do espaço. Você pode conseguir o ID chamando o método ListSpaces() ou no URL do espaço.

Excluir um espaço nomeado como um app do Chat

A autenticação do app exige uma única aprovação do administrador.

Com a autenticação de apps, só é possível excluir espaços criados por apps do Chat.

Para excluir um espaço no Google Chat com autenticação de app, transmita o seguinte na sua solicitação:

  • Especifique o escopo de autorização chat.app.delete.
  • Chame o método delete no recurso Space.
  • Transmita o name do espaço a ser excluído.

crie uma chave de API

Para chamar um método de API Developer Preview, use uma versão não pública do documento de descoberta da API. Para autenticar a solicitação, transmita uma chave de API.

Para criar a chave de API, abra o projeto do Google Cloud do app e faça o seguinte:

  1. No console do Google Cloud, acesse Menu > APIs e serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > Chave de API.
  3. Sua nova chave de API é exibida.
    • Clique em Copiar para copiar a chave de API e usar no código do app. A chave de API também pode ser encontrada na seção "Chaves de API" das credenciais do projeto.
    • Clique em Restringir chave para atualizar as configurações avançadas e limitar o uso da sua chave de API. Para mais detalhes, consulte Como aplicar restrições de chave de API.

Escrever um script que chama a API Chat

Veja como excluir um espaço:

Python

  1. No diretório de trabalho, crie um arquivo chamado chat_space_delete_app.py.
  2. Inclua o seguinte código em chat_space_delete_app.py:

    from google.oauth2 import service_account
    from apiclient.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.app.delete"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then deletes the specified space.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().delete(
    
              # The space to delete.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Print Chat API's response in your command line interface.
        # When deleting a space, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. No código, substitua o seguinte:

    • API_KEY: a chave de API criada para criar o endpoint de serviço da API Chat.

    • SPACE com o nome do espaço, que pode ser obtido com o método spaces.list na API Chat ou no URL de um espaço.

  4. No diretório de trabalho, crie e execute a amostra:

    python3 chat_space_delete_app.py

Se a solicitação for concluída, o corpo da resposta estará vazio, o que indica que o espaço foi excluído.

Excluir um espaço nomeado como administrador do Google Workspace

Se você for admin do Google Workspace, poderá chamar o método DeleteSpace() para excluir qualquer espaço nomeado na sua organização do Google Workspace.

Para chamar esse método como administrador do Google Workspace, faça o seguinte:

Para mais informações e exemplos, consulte Gerenciar espaços do Google Chat como administrador do Google Workspace.