Atualizar ou renovar uma assinatura do Google Workspace

Esta página explica como renovar uma assinatura do Google Workspace usando o método subscriptions.update(). É possível usar esse método para atualizar o tempo de expiração de uma assinatura, incluindo a renovação da assinatura para o tempo de expiração máximo possível ou para atualizar a lista de tipos de eventos que vão ser recebidos sobre o recurso de destino.

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
      

Renovar uma assinatura do Google Workspace

Nesta seção, você vai usar o método subscriptions.update() da API Google Workspace Events para renovar uma assinatura até o tempo máximo de expiração. Para especificar o tempo de validade máximo, atualize o campo ttl do recurso Subscription para 0.

O tempo máximo de expiração depende dos dados de recursos incluídos no payload do evento. Para saber mais sobre os horários de expiração, consulte Dados de eventos do Google Workspace.

Para renovar uma assinatura do Google Workspace:

Apps Script

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

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, 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 atualizar a assinatura do Google Workspace, execute a função updateSubscription no seu projeto do Apps Script.

Python

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

    """Update subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # 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,
    )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

    Substitua:

    • SCOPES: um ou mais escopos do OAuth compatíveis com cada tipo de evento da assinatura. Formatado como uma matriz de strings. Para listar vários escopos, separe-os por vírgulas. Por exemplo, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.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 atualizar a assinatura do Google Workspace, execute o seguinte no terminal:

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

Para conferir detalhes sobre o recurso Subscription atualizado, use o método operations.get() e especifique o recurso Operation retornado da solicitação subscriptions.update(). Caso contrário, se você especificar um recurso Operation de uma versão anterior da assinatura, a resposta vai estar vazia.