Receber detalhes sobre um evento de um espaço do Google Chat

Este guia explica como usar o O método get está ativado o SpaceEvent recurso do API Google Chat para receber detalhes sobre um evento de um espaço do Google Chat.

O recurso SpaceEvent representa uma mudança em um espaço ou no filho dele. recursos, como mensagens, reações e associações. Para saber sobre os tipos de evento compatíveis, consulte o campo eventType da Recurso SpaceEvent documentação de referência.

É possível solicitar eventos até 28 dias antes. O evento contém a versão mais recente do recurso que foi alterado. Por exemplo, se você solicitar um evento sobre uma nova mensagem, mas ela for atualizada posteriormente, o server retorna o recurso Message atualizado no payload do evento.

Para chamar esse método, você deve usar user autenticação. Para receber um o usuário autenticado precisa participar do espaço onde o evento o incidente.

Pré-requisitos

Python

  • Python 3.6 ou superior
  • a ferramenta de gerenciamento de pacotes PIP;
  • As bibliotecas de cliente mais recentes do Google. Para instalar ou atualizar esses recursos, execute o seguinte comando na interface de linha de comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Receber detalhes sobre um evento espacial

Para acessar detalhes sobre uma SpaceEvent no Google Chat, faça o seguinte:

  • Chame o método get. no SpaceEvent recurso.
  • Transmita o name do SpaceEvent para receber. Consiga o nome SpaceEvent. do SpaceEvent recurso de Google Chat
  • Com user de autenticação, especifique um escopo de autorização compatível com o tipo de evento da sua solicitação. Como prática recomendada, escolha o escopo mais restritivo que ainda permita que seu aplicativo para funcionar.

Saiba como gerar um SpaceEvent com o autenticação do usuário:

Python

  1. No diretório de trabalho, crie um arquivo chamado chat_space_event_get.py.
  2. Inclua o seguinte código em chat_space_event_get.py:

    """Gets a SpaceEvent resource from the Chat API."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ['SCOPE']
    
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    creds = flow.run_local_server()
    
    # Build a service endpoint for Chat API.
    chat = build(
      'chat',
      'v1',
      credentials=creds
    )
    
    # Use the service endpoint to call Chat API.
    result = (
        chat.spaces()
        .spaceEvents()
        .get(
            # The space event to get.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. No código, substitua o seguinte:

    • SCOPE: um escopo de autorização com base no tipo de evento. Por exemplo, se você estiver recebendo um evento espacial sobre uma nova assinatura, use o escopo chat.memberships.readonly, formatado como https://www.googleapis.com/auth/chat.memberships.readonly. Você pode encontrar o tipo de evento no método spaces.spaceEvents.list. Para aprender a usar esse método, consulte Listar eventos de um espaço
    • SPACE: um nome de espaço, que pode ser encontrado no O método spaces.list na API Chat ou pelo URL de um espaço.
    • SPACE_EVENT: o nome do espaço , que você encontra na método spaces.spaceEvents.list.
  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_space_event_get.py
    

A API Chat retorna uma instância do SpaceEvent com detalhes sobre o evento.