Recuperare i metadati relativi a un allegato a un messaggio

Questa guida spiega come utilizzare il metodo get nella risorsa Media dell'API Google Chat per ottenere i metadati relativi all'allegato di un messaggio. La risposta è un'istanza della risorsa Attachment.

Quando l'utente invia un messaggio alla tua app, Google Chat invia un evento di interazione MESSAGE. L'evento di interazione ricevuto dalla tua app include un corpo della richiesta, che è il payload JSON che rappresenta l'evento di interazione, inclusi gli eventuali allegati. I dati dell'allegato sono diversi a seconda che si tratti di contenuti caricati (un file locale) o di un file archiviato su Drive. La risorsa Media rappresenta un file caricato su Google Chat, come immagini, video e documenti. La risorsa Attachment rappresenta un'istanza di contenuti multimediali (un file) allegato a un messaggio. La risorsa Attachment include i metadati relativi all'allegato, ad esempio dove è stato salvato.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Un progetto Google Cloud in cui l'API Google Chat è abilitata e configurata. Per i passaggi da seguire, consulta Creare un'app Google Chat.
  • Autorizzazione configurata per l'app di Chat. Per ricevere un messaggio è necessaria l'autenticazione dell'app con l'ambito di autorizzazione chat.bot.

Recupera un allegato messaggio

Per ottenere in modo asincrono i metadati relativi all'allegato di un messaggio in Google Chat, trasmetti quanto segue nella richiesta:

Ecco come ottenere i metadati relativi all'allegato di un messaggio:

Python

  1. Nella directory di lavoro, crea un file denominato chat_get_message_attachment.py.
  2. Includi il seguente codice in chat_get_message_attachment.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Get a Chat message.
    result = chat.spaces().messages().attachments().get(
    
        # The message 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 MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. Nel codice, sostituisci spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT con il nome dell'allegato al messaggio.

  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_get_message_attachment.py
    

L'API Chat restituisce un'istanza di Attachment che mostra in dettaglio i metadati dell'allegato del messaggio specificato.