В этом руководстве объясняется, как использовать метод list()
в ресурсе membership
API Google Chat для перечисления участников в пространстве в виде постраничного фильтруемого списка членства в пространстве.
- В списке участников с аутентификацией приложения перечислены участники в пространствах, к которым у приложения Chat есть доступ, но исключаются членства в приложении Chat, включая собственное.
- В списке участников с аутентификацией пользователя перечислены членства в пространствах, к которым имеет доступ аутентифицированный пользователь.
- При указании членства в качестве администратора Google Workspace с аутентификацией пользователя с использованием прав администратора отображается список участников во всех пространствах вашей организации Google Workspace.
Ресурс 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 возвращает список участников человеческого пространства (за исключением менеджеров пространств) из указанного пространства.
Внесите участников в список администраторов Google Workspace
Если вы администратор Google Workspace, вы можете вызвать метод list()
, чтобы просмотреть список участников любого пространства в вашей организации Google Workspace. Chat API возвращает только данные о членстве пользователей (как внутренних, так и внешних) или групп Google из вашей организации и, следовательно, не учитывает членство в каких-либо приложениях чата.
Чтобы вызвать этот метод от имени администратора Google Workspace, выполните следующие действия:
- Вызовите метод, используя аутентификацию пользователя, и укажите область авторизации , которая поддерживает вызов метода с правами администратора .
- В вашем запросе укажите следующие параметры запроса:
- Установите
useAdminAccess
значениеtrue
. - Чтобы возвращать только пользователей, установите
filter
member.type
равнымHUMAN
. - Чтобы вернуть пользователей и группы, установите
filter
member.type
не равнымBOT
AND
showGroups
равнымtrue
.
- Установите
Дополнительную информацию и примеры см. в разделе «Управление пространствами Google Chat от имени администратора Google Workspace» .
Настройте нумерацию страниц или отфильтруйте список
Чтобы перечислить членство, передайте следующие параметры запроса, чтобы настроить разбивку на страницы или отфильтровать перечисленное членство:
-
pageSize
: максимальное количество возвращаемых членств. Служба может вернуть меньше этого значения. Если не указано, возвращается не более 100 пробелов. Максимальное значение — 1000; значения более 1000 автоматически изменяются на 1000. -
pageToken
: токен страницы, полученный в результате предыдущего вызова пространств списка. Предоставьте этот токен для получения следующей страницы. При разбиении на страницы значение фильтра должно соответствовать вызову, который предоставил токен страницы. Передача другого значения может привести к неожиданным результатам. -
filter
: фильтр запроса. Требует аутентификации пользователя . Подробности о поддерживаемых запросах см. в методеspaces.members.list()
.
Связанные темы
- Получите подробную информацию о членстве пользователя или приложения Chat .
- Пригласите или добавьте пользователя или приложение чата в пространство .
- Обновите членство пользователя в чате Google .
- Удаление пользователя или приложения Chat из пространства .