Uzyskiwanie szczegółów o wydarzeniu w pokoju Google Chat

Z tego przewodnika dowiesz się, jak używać metody get w SpaceEvent zasobie interfejsu Google Chat API, aby uzyskiwać szczegółowe informacje o wydarzeniu z pokoju Google Chat.

Zasób SpaceEvent reprezentuje zmianę w pokoju lub jego zasobach podrzędnych, takich jak wiadomości, reakcje i członkostwo. Informacje o obsługiwanych typach zdarzeń znajdziesz w polu eventType w dokumentacji referencyjnej zasobu SpaceEvent.

Możesz zgłosić prośbę o wydarzenia, która nastąpi do 28 dni przed datą wysłania prośby. Zdarzenie zawiera najnowszą wersję zmienionego zasobu. Jeśli na przykład wyślesz żądanie zdarzenia dotyczącego nowej wiadomości, ale wiadomość została później zaktualizowana, serwer zwróci w ładunku zdarzenia zaktualizowany zasób Message.

Aby wywołać tę metodę, musisz użyć uwierzytelniania użytkowników. Aby było możliwe odebranie zdarzenia, uwierzytelniony użytkownik musi być w pokoju, w którym miało miejsce.

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
    
  • Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
  • Autoryzacja dla aplikacji Google Chat została skonfigurowana. Uzyskanie wydarzenia w pokoju wymaga uwierzytelniania użytkownika przy użyciu zakresu, który obsługuje typ zdarzenia. Informacje o wyborze zakresu znajdziesz w artykule na temat uwierzytelniania i autoryzacji.

Uzyskiwanie informacji o wydarzeniu kosmicznym

Aby uzyskać szczegółowe informacje o elemencie SpaceEvent w Google Chat:

  • Wywołaj metodę get w zasobie SpaceEvent.
  • Miń name z SpaceEvent, aby otrzymać. Uzyskaj nazwę SpaceEvent z zasobu SpaceEvent Google Chat.
  • W przypadku uwierzytelniania użytkowników określ zakres autoryzacji, który obsługuje typ zdarzenia w Twoim żądaniu. Sprawdzoną metodą jest wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji.

Aby uzyskać SpaceEvent z uwierzytelnianiem użytkownika:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_space_event_get.py.
  2. Umieść ten kod w elemencie chat_space_event_get.py:

    """Gets a SpaceEvent resource 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 = ['SCOPE']
    
    # 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()
        .get(
            # The space event 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 SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. Zastąp w nim ten fragment kodu:

    • SCOPE: zakres autoryzacji zależny od typu zdarzenia. Jeśli na przykład otrzymujesz wydarzenie dotyczące pokoju dotyczące nowej subskrypcji, użyj zakresu chat.memberships.readonly w formacie https://www.googleapis.com/auth/chat.memberships.readonly. Typ zdarzenia możesz uzyskać, korzystając z metody spaces.spaceEvents.list. Aby dowiedzieć się, jak korzystać z tej metody, przeczytaj artykuł Wyświetlanie listy zdarzeń z pokoju.
    • SPACE: nazwa pokoju, którą można uzyskać za pomocą metody spaces.list w interfejsie Chat API lub z adresu URL pokoju.
    • SPACE_EVENT: nazwa zdarzenia dotyczącego pokoju, którą możesz uzyskać za pomocą metody spaces.spaceEvents.list.
  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_space_event_get.py
    

Interfejs Chat API zwraca instancję SpaceEvent ze szczegółami zdarzenia.