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

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

Ресурс Membership указывает, приглашен ли пользователь или приложение Google Chat в пространство, участвует в нем или отсутствует в нем.

Аутентификация с помощью аутентификации приложения позволяет приложению Chat получать членство в пространствах, к которым у него есть доступ в Google Chat (например, в пространствах, участником которых оно является), но исключает членство в приложении Chat, включая собственное. Аутентификация с проверкой подлинности пользователя возвращает членство в пространствах, к которым имеет доступ аутентифицированный пользователь.

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

Питон

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

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

Получите подробную информацию о членстве пользователя или приложения Chat.

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

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

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

Питон

  1. В своем рабочем каталоге создайте файл с chat_membership_get.py .
  2. Включите следующий код chat_membership_get.py :

    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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified membership.
        '''
    
        # 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().members().get(
    
            # The membership 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 MEMBER with a membership name.
            # Obtain the membership name from the memberships resource of
            # Chat API.
            name='spaces/SPACE/members/MEMBER'
    
        ).execute()
    
        # Prints details about the membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. В коде замените следующее:

    • SPACE : имя пространства, которое можно получить с помощью метода spaces.list в Chat API или из URL-адреса пространства.
    • MEMBER : имя участника, которое можно получить с помощью метода spaces.members.list в Chat API.
  4. В своем рабочем каталоге соберите и запустите пример:

    python3 chat_membership_get.py
    

API чата возвращает экземпляр membership с подробным описанием указанного членства.