В этом руководстве объясняется, как использовать метод list
в ресурсе membership
API Google Chat для перечисления участников в пространстве в виде постраничного фильтруемого списка членства в пространстве. В списке участников с аутентификацией приложения перечислены участники в пространствах, к которым у приложения Chat есть доступ, но исключаются членства в приложении Chat, включая собственное. В списке участников с аутентификацией пользователя перечислены членства в пространствах, к которым имеет доступ аутентифицированный пользователь.
Ресурс Membership
указывает, приглашен ли пользователь или приложение Google Chat в пространство, участвует в нем или отсутствует в нем.
Предварительные условия
Питон
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Установите клиентскую библиотеку Python Google API .
- Создайте учетные данные доступа в зависимости от того, как вы хотите пройти аутентификацию в запросе к API Google Chat:
- Чтобы пройти аутентификацию в качестве пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде файла JSON с именем
client_secrets.json
в локальном каталоге. - Чтобы пройти аутентификацию в качестве приложения Chat, создайте учетные данные учетной записи службы и сохраните их в виде файла JSON с именем
credentials.json
.
- Чтобы пройти аутентификацию в качестве пользователя Chat, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде файла JSON с именем
- Выберите область авторизации в зависимости от того, хотите ли вы пройти аутентификацию как пользователь или приложение Chat.
Получение списка участников в пространстве с аутентификацией пользователя
Чтобы перечислить пользователей, группы Google и приложение Chat в пространстве, к которому имеет доступ аутентифицированный пользователь, передайте в своем запросе следующее:
- При аутентификации пользователя укажите область
chat.memberships.readonly
chat.memberships
. - Вызовите метод
list
для ресурсаmembership
. - Чтобы вывести список групп Google, установите для параметра запроса
showGroups
значениеtrue
.
В следующем примере перечислены участники группы Google, люди и участники приложения, видимые для аутентифицированного пользователя.
Питон
- В своем рабочем каталоге создайте файл с
chat_member_list_user.py
. Включите следующий код в
chat_member_list_user.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 lists Google Group, human, and app members in a specified space. ''' # 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().list( # The space for which to list memberships. parent = 'spaces/SPACE', # Set this parameter to list Google Groups. showGroups = 'true' ).execute() # Prints the list of memberships. print(result) if __name__ == '__main__': main()
В коде замените
SPACE
именем пространства, которое можно получить с помощью методаspaces.list
в Chat API или из URL-адреса пространства.В своем рабочем каталоге соберите и запустите пример:
python3 chat_member_list_user.py
API Google Chat возвращает список участников групп Google, людей и приложений из указанного пространства.
Получение списка участников в пространстве с аутентификацией приложения
Чтобы перечислить пользователей и приложение Chat в пространстве, к которому имеет доступ приложение, прошедшее проверку подлинности, передайте в своем запросе следующее:
- При аутентификации приложения укажите область авторизации
chat.bot
. - Вызовите метод
list
для ресурсаmember
. - Чтобы вывести список групп Google, установите для параметра запроса
showGroups
значениеtrue
.
В следующем примере перечислены участники человеческого пространства (не менеджеры пространства), видимые в приложении Chat:
Питон
- В своем рабочем каталоге создайте файл с
chat_member_list_app.py
. Включите следующий код в
chat_member_list_app.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) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # An optional filter that returns only human space members. filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"' ).execute() print(result)
В коде замените
SPACE
именем пространства, которое можно получить с помощью методаspaces.list
в Chat API или из URL-адреса пространства.В своем рабочем каталоге соберите и запустите пример:
python3 chat_member_list_app.py
API Google Chat возвращает список участников человеческого пространства (за исключением менеджеров пространств) из указанного пространства.
Настройте нумерацию страниц или отфильтруйте список
Чтобы перечислить членство, передайте следующие параметры запроса, чтобы настроить разбивку на страницы или отфильтровать перечисленное членство:
-
pageSize
: максимальное количество возвращаемых членств. Служба может вернуть меньше этого значения. Если не указано, возвращается не более 100 пробелов. Максимальное значение — 1000; значения выше 1000 автоматически изменяются на 1000. -
pageToken
: токен страницы, полученный в результате предыдущего вызова пространств списка. Предоставьте этот токен для получения следующей страницы. При разбиении на страницы значение фильтра должно соответствовать вызову, который предоставил токен страницы. Передача другого значения может привести к неожиданным результатам. -
filter
: фильтр запроса. Требует аутентификации пользователя . Подробные сведения о поддерживаемых запросах см. в методеspaces.members.list
.
Связанные темы
- Получите подробную информацию о членстве пользователя или приложения Chat .
- Пригласите или добавьте пользователя или приложение чата в пространство .
- Обновите членство пользователя в чате Google .
- Удаление пользователя или приложения Chat из пространства .