Excluir uma assinatura do Google Workspace

Esta página explica 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 vai excluí-la automaticamente.

Pré-requisitos

Apps Script

  • Um projeto do Apps Script:
    • Use seu projeto do Google Cloud em vez do padrão criado automaticamente pelo Apps Script.
    • Para todos os escopos que você adicionou para configurar a tela de consentimento do OAuth, também é necessário adicionar os escopos 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 mais recente
  • 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 a autenticação do usuário, é necessário um escopo 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, requer o escopo chat.bot (somente apps do Google Chat).

Excluir uma assinatura autorizada por um usuário

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

Para excluir uma assinatura:

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 das seguintes opções:
      • O 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 que oferece suporte a pelo menos um tipo de evento da assinatura. Por exemplo, se a assinatura receber eventos de 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 das seguintes opções:
      • O 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 autenticar com o Google Workspace e receber as credenciais do usuário. Para instruções, consulte Criar credenciais de ID do cliente do OAuth.

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

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