Elencare gli eventi da uno spazio di Google Chat

Questa guida spiega come utilizzare il list. sulla risorsa SpaceEvent dell'API Google Chat per elencare le modifiche apportate alle risorse in uno spazio.

La risorsa SpaceEvent rappresenta una modifica dello spazio di destinazione, incluse le risorse figlio dello spazio come messaggi, reazioni e adesioni. Per saperne di più sull'elenco dei tipi di eventi e dei relativi payload supportati, consulta i campi eventType e payload della documentazione di riferimento della risorsa SpaceEvent.

Puoi elencare gli eventi fino a 28 giorni prima della richiesta. Il server restituisce gli eventi che contengono la versione più recente della risorsa interessata. Ad esempio, se elenchi eventi relativi ai nuovi membri di uno spazio, il server restituisce risorse Membership contenenti i dettagli più recenti dell'abbonamento. Se nuovi membri sono stati rimossi durante il periodo richiesto, il payload dell'evento contiene una risorsa Membership vuota.

Per chiamare questo metodo, devi utilizzare user autenticazione. Per elencare gli eventi di uno spazio, l'utente autenticato deve essere un membro dello spazio.

Prerequisiti

Python

Elenca eventi dello spazio

Per elencare gli eventi dello spazio da uno spazio di Chat, segui questi passaggi:

Nel seguente esempio di codice sono elencati gli eventi relativi alle nuove iscrizioni e messaggi in uno spazio.

Python

  1. Nella directory di lavoro, crea un file denominato chat_space_event_list.py.
  2. Includi il seguente codice in 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. Nel codice, sostituisci quanto segue:

    • SPACE: un nome dello spazio, che puoi ottenere dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.
  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_space_event_list.py

L'API Chat restituisce un elenco SpaceEvent risorse eventi relativi a nuove iscrizioni e messaggi.

Personalizza l'impaginazione

Facoltativamente, passa i seguenti parametri di query per personalizzare l'impaginazione:

  • pageSize: il numero massimo di risorse SpaceEvent da restituire. Il servizio potrebbe restituire un valore inferiore a questo valore. I valori negativi restituiscono un INVALID_ARGUMENT errore.
  • pageToken: un token di pagina ricevuto da una precedente chiamata di eventi dello spazio elenco. Fornisci questo token per recuperare la pagina successiva. Quando esegui la paginazione, il valore del filtro deve corrispondere alla chiamata che ha fornito il token pagina. Se passi un valore diverso, potresti ottenere risultati imprevisti.