Excluir uma assinatura do Google Workspace

Nesta página, explicamos como excluir uma assinatura do Google Workspace usando o método subscriptions.delete().

Quando você exclui uma assinatura, o app não recebe mais eventos. Se uma assinatura expirar, a API Google Workspace Events a excluirá automaticamente.

Pré-requisitos

Apps Script

  • Um projeto do Apps Script:
    • Use seu projeto do Google Cloud em vez do projeto padrão criado automaticamente pelo Apps Script.
    • Para todos os escopos adicionados para configurar a tela de permissão OAuth, é preciso adicioná-los ao arquivo appsscript.json no seu projeto do Apps Script. Exemplo:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Ative o serviço avançado Google Workspace Events.

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 comando na interface de linha de comando:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Uma assinatura do Google Workspace. Para criar uma, consulte Criar uma assinatura.

  • Requer autenticação:

    • Para autenticação de usuário, requer um escopo que seja compatível com pelo menos um dos tipos de evento da assinatura. Para identificar um escopo, consulte Escopos por tipo de evento.
    • Para a autenticação de apps, exige o escopo chat.bot (apenas apps do Google Chat).

Excluir uma assinatura autorizada por um usuário

O exemplo de código a seguir exclui um recurso Subscription usando a autenticação do usuário.

Para excluir uma assinatura, faça o seguinte:

Apps Script

  1. No projeto do Apps Script, crie um novo arquivo de script chamado deleteSubscription e adicione o seguinte código:

    function deleteSubscription() {
      // The name of the subscription to delete.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.remove(name);
      console.log(response);
    }
    

    Substitua:

    • SUBSCRIPTION_ID: o ID da assinatura. Para conseguir o ID, use uma destas opções:
      • Valor do campo uid.
      • O ID do nome do recurso representado no campo name. Por exemplo, se o nome do recurso for subscriptions/subscription-123, use subscription-123.
  2. Para excluir a assinatura, execute a função deleteSubscription no seu projeto do Apps Script.

Python

  1. No diretório de trabalho, crie um arquivo chamado delete_subscription.py e adicione o seguinte código:

    """Delete subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = service.subscriptions().delete(name=NAME).execute()
    print(response)
    

    Substitua:

    • SCOPE: um escopo do OAuth compatível com pelo menos um tipo de evento da assinatura. Por exemplo, se sua assinatura receber eventos em um espaço do Chat atualizado, https://www.googleapis.com/auth/chat.spaces.readonly.
    • SUBSCRIPTION_ID: o ID da assinatura. Para conseguir o ID, use uma destas opções:
      • Valor do campo uid.
      • O ID do nome do recurso representado no campo name. Por exemplo, se o nome do recurso for subscriptions/subscription-123, use subscription-123.
  2. No diretório de trabalho, verifique se você armazenou as credenciais do ID do cliente OAuth e nomeou o arquivo como client_secrets.json. O exemplo de código usa esse arquivo JSON para se autenticar no Google Workspace e receber credenciais de usuário. Para instruções, consulte Criar credenciais de ID do cliente OAuth.

  3. Para excluir a assinatura, execute o seguinte no seu terminal:

    python3 delete_subscription.py
    
A API Events do Google Workspace retorna uma operação de longa duração que contém a instância do recurso Subscription.