Получите подробную информацию о мероприятии в Google Chat

В этом руководстве объясняется, как использовать метод get ресурса SpaceEvent API Google Chat, чтобы получить подробную информацию о событии из пространства Google Chat.

Ресурс SpaceEvent представляет собой изменение пространства или его дочерних ресурсов, таких как сообщения, реакции и членство. Чтобы узнать о поддерживаемых типах событий, см. поле eventType справочной документации по ресурсам SpaceEvent .

Вы можете запросить мероприятия за 28 дней до момента запроса. Событие содержит самую последнюю версию измененного ресурса. Например, если вы запрашиваете событие о новом сообщении, но позже сообщение было обновлено, сервер возвращает обновленный ресурс Message в полезных данных события.

Для вызова этого метода необходимо использовать аутентификацию пользователя . Чтобы получить событие, аутентифицированный пользователь должен быть членом пространства, в котором произошло событие.

Предварительные условия

Питон

  • Python 3.6 или выше
  • Инструмент управления пакетами pip
  • Новейшие клиентские библиотеки Google для Python. Чтобы установить или обновить их, выполните следующую команду в интерфейсе командной строки:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Проект Google Cloud с включенным и настроенным API Google Chat. Инструкции см. в разделе Создание приложения Google Chat .
  • Авторизация настроена для приложения Чат. Для получения космического события требуется аутентификация пользователя с областью, поддерживающей тип события. Чтобы выбрать область, см. Обзор аутентификации и авторизации .

Узнайте подробности о космическом событии

Чтобы получить подробную информацию о SpaceEvent в Google Chat, выполните следующие действия:

  • Вызовите метод get ресурса SpaceEvent .
  • Передайте name SpaceEvent для получения. Получите имя SpaceEvent из ресурса SpaceEvent в Google Chat.
  • При аутентификации пользователя укажите область авторизации, которая поддерживает тип события в вашем запросе. Рекомендуется выбирать наиболее ограничительную область, которая по-прежнему позволяет вашему приложению функционировать.

Вот как получить SpaceEvent с аутентификацией пользователя :

Питон

  1. В своем рабочем каталоге создайте файл с chat_space_event_get.py .
  2. Включите следующий код в 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. В коде замените следующее:

    • SCOPE : область авторизации, основанная на типе события. Например, если вы получаете космическое событие о новом членстве, используйте область chat.memberships.readonly в формате https://www.googleapis.com/auth/chat.memberships.readonly . Вы можете получить тип события из метода spaces.spaceEvents.list . Чтобы узнать, как использовать этот метод, см. раздел Список событий из пространства .
    • SPACE : имя пространства, которое можно получить с помощью метода spaces.list в Chat API или из URL-адреса пространства.
    • SPACE_EVENT : имя космического события, которое вы можете получить из метода spaces.spaceEvents.list .
  4. В своем рабочем каталоге соберите и запустите пример:

    python3 chat_space_event_get.py
    

API чата возвращает экземпляр SpaceEvent с подробной информацией о событии.