Receber detalhes sobre uma assinatura do Google Workspace

Nesta página, explicamos como ver detalhes sobre uma assinatura do Google Workspace usando o método subscriptions.get().

Quando você chama esse método com a autenticação do usuário, ele retorna detalhes sobre uma assinatura autorizada pelo usuário. Quando você usa a autenticação de apps, o método pode retornar detalhes sobre qualquer assinatura do app.

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).

Receber uma assinatura autorizada por um usuário

O exemplo de código a seguir recebe detalhes sobre um recurso Subscription usando a autenticação do usuário. Quando autenticado como usuário, o método retorna uma assinatura que o usuário autorizou a criação do app.

Para conseguir uma assinatura autorizada por um usuário:

Apps Script

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

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

    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 conseguir a assinatura, execute a função getSubscription no seu projeto do Apps Script.

Python

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

    """Get 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'
    subscription = service.subscriptions().get(name=NAME).execute()
    print(subscription)
    

    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 receber a assinatura, execute o seguinte no seu terminal:

    python3 get_subscription.py