Excluir um espaço

Neste guia, explicamos como usar o método delete() no recurso Space da API Google Chat para excluir um espaço nomeado quando ele não é mais necessário. A exclusão de um espaço também exclui tudo o que ele contém, incluindo mensagens e anexos.

Se você for um administrador 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 as pessoas e os apps de 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 um usuário e um app do Chat.
  • As conversas em grupo são conversas entre três ou mais usuários e apps de chat.
  • Os espaços nomeados são lugares persistentes em que 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 do usuário, transmita as seguintes informações na 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. Para conseguir o ID, chame o método ListSpaces() ou o 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 de chat.

Para excluir um espaço atual no Google Chat com a autenticação de apps, transmita o seguinte na 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.

Criar uma chave de API

Para chamar um método da prévia para desenvolvedores da API, use uma versão não pública da prévia para desenvolvedores do documento de descoberta da API. Para autenticar a solicitação, é necessário transmitir 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 vai aparecer.
    • Clique em Copiar para copiar sua chave de API e usá-la 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 chave de API. Para mais detalhes, consulte Como aplicar restrições de chave de API.

Escrever um script que chame 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 pelo nome do espaço, que pode ser encontrado no método spaces.list na API Chat ou no URL de um espaço.

  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_space_delete_app.py

Se o processo for bem-sucedido, o corpo da resposta vai ficar vazio, o que indica que o espaço foi excluído.

Excluir um espaço com nome como administrador do Google Workspace

Se você for um administrador 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.