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 allo spazio di destinazione, incluse le risorse figlio dello spazio come messaggi, reazioni e iscrizioni. Per ulteriori informazioni di tipi di eventi e payload di eventi supportati, consulta le eventType e payload campi della risorsa SpaceEvent documentazione di riferimento.

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 dello spazio, il server restituisce Membership risorse che contengono i dettagli più recenti dell'abbonamento. Se nuovo che sono stati rimossi durante il periodo richiesto, il payload dell'evento contiene risorsa Membership vuota.

Per chiamare questo metodo, devi utilizzare user autenticazione. Elenco da uno spazio, l'utente autenticato deve essere membro dello spazio.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti. Per installarle o aggiornarle, esegui questo comando nell'interfaccia a riga di comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

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: il nome di uno spazio, che puoi ottenere il 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 SpaceEvent risorse 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. Durante l'impaginazione, il valore del filtro deve corrispondere alla chiamata che ha fornito il token della pagina. Il superamento di un un valore diverso potrebbe portare a risultati imprevisti.