Pobieranie metadanych załącznika wiadomości

Z tego przewodnika dowiesz się, jak używać metody get w zasobie Media interfejsu Google Chat API, aby uzyskać metadane dotyczące załącznika wiadomości. Odpowiedź jest instancją zasobu Attachment.

Gdy użytkownik wysyła wiadomość do Twojej aplikacji, Google Chat wysyła zdarzenie interakcji MESSAGE. Zdarzenie interakcji odebrane przez aplikację zawiera treść żądania, czyli ładunek JSON reprezentujący zdarzenie interakcji wraz z ewentualnymi załącznikami. Dane w załączniku różnią się w zależności od tego, czy załącznik jest przesłany (plik lokalny) czy przechowywany na Dysku. Zasób Media reprezentuje plik przesłany do Google Chat, np. obrazy, filmy czy dokumenty. Zasób Attachment odpowiada instancji multimediów (pliku) dołączonej do wiadomości. Zasób Attachment zawiera metadane dotyczące załącznika, np. miejsce jego zapisania.

Wymagania wstępne

Python

  • Python 3.6 lub nowszy
  • Narzędzie do zarządzania pakietami pip
  • Najnowsze biblioteki klienta Google dla języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
  • Autoryzacja aplikacji Google Chat została skonfigurowana. Uzyskanie wiadomości wymaga uwierzytelniania aplikacji z zakresem autoryzacji chat.bot.

Pobieranie załącznika do wiadomości

Aby asynchronicznie pobrać metadane załącznika wiadomości w Google Chat, przekaż w żądaniu:

Aby uzyskać metadane załącznika wiadomości:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_get_message_attachment.py.
  2. Umieść ten kod w elemencie 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. W kodzie zastąp spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT nazwą załącznika do wiadomości.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_get_message_attachment.py
    

Chat API zwraca instancję Attachment, która zawiera szczegółowe informacje o metadanych określonego załącznika do wiadomości.