Muestra una lista de eventos de un espacio de Google Chat

En esta guía, se explica cómo usar el método list en el recurso SpaceEvent de la API de Google Chat para enumerar los cambios en los recursos de un espacio.

El recurso SpaceEvent representa un cambio en el espacio de destino, incluidos los recursos secundarios del espacio, como mensajes, reacciones y membresías. Para obtener más información sobre la lista de tipos de eventos y cargas útiles de eventos compatibles, consulta los campos eventType y payload de la documentación de referencia del recurso SpaceEvent.

Puedes enumerar eventos hasta 28 días antes de la hora de la solicitud. El servidor muestra eventos que contienen la versión más reciente del recurso afectado. Por ejemplo, si enumeras eventos sobre miembros nuevos del espacio, el servidor muestra Membership recursos que contienen los detalles de membresía más recientes. Si se quitaron miembros nuevos durante el período solicitado, la carga útil del evento contiene un recurso Membership vacío.

Para llamar a este método, debes usar user autenticación. Para mostrar una lista de eventos de un espacio, el usuario autenticado debe ser miembro del espacio.

Requisitos previos

Python

Cómo enumerar eventos de espacio

Para ver una lista de los eventos de un espacio de Chat, haz lo siguiente:

En la siguiente muestra de código, se enumeran los eventos sobre membresías y mensajes nuevos en un espacio.

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_space_event_list.py.
  2. Incluye el siguiente código en chat_space_event_list.py:

    """Lists SpaceEvent resources 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 = ["https://www.googleapis.com/auth/chat.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # 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().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. En el código, reemplaza lo siguiente:

    • SPACE: Es un nombre de espacio que puedes obtener del método spaces.list en la API de Chat o de la URL de un espacio.
  4. En tu directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_space_event_list.py

La API de Chat muestra una lista de eventos de recursos SpaceEvent sobre membresías y mensajes nuevos.

Personalizar paginación

De manera opcional, pasa los siguientes parámetros de consulta para personalizar la paginación:

  • pageSize: La cantidad máxima de recursos SpaceEvent que se mostrarán. Es posible que el servicio muestre menos valores que este. Los valores negativos muestran un error INVALID_ARGUMENT.
  • pageToken: Es un token de página que se recibió de una llamada anterior a listSpaceEvents. Proporciona este token para recuperar la página siguiente. Al paginar, el valor del filtro debe coincidir con la llamada que proporcionó el token de la página. Pasar un valor diferente puede generar resultados inesperados.