Вы можете искать пользователей, соответствующих определенным атрибутам, с помощью users.list() API каталога. Этот метод принимает параметр query , который представляет собой поисковый запрос, объединяющий одно или несколько предложений поиска. Каждое предложение поиска состоит из трех частей:
- Поле
 -  Атрибут пользователя, по которому осуществляется поиск. Например, 
givenName. - Оператор
 -  Тест, выполняемый с данными для обеспечения соответствия. Например, оператор 
:проверяет, содержит ли текстовый атрибут значение. - Ценить
 -  Содержимое проверяемого атрибута. Например, 
Jane. 
 Чтобы выполнить поиск по нескольким полям запроса, добавьте каждое предложение поиска, разделенное пробелом. Операция представляет собой неявное AND
Поля
| Поле | Тип значения | Операторы | Описание | 
|---|---|---|---|
| Не указано | нить |  Сравните со значением в givenName , familyName или email . | |
 name | нить |  =, : |  Объединенное значение givenName и familyName . | 
 email | нить |  = , : , :{PREFIX}* | Адреса электронной почты пользователя, включая псевдонимы. | 
 givenName | нить |  = , : , :{PREFIX}* | Имя или имя пользователя. | 
 familyName | нить |  = , : , :{PREFIX}* | Семья или фамилия пользователя. | 
 isAdmin | логическое значение |  = | Имеет ли пользователь права суперадминистратора. | 
 isDelegatedAdmin | логическое значение |  = | Делегировал ли пользователь права администратора. | 
 isSuspended | логическое значение |  = | Приостановлена ли учетная запись пользователя. | 
 isArchived | логическое значение |  = | Архивируется ли учетная запись пользователя. | 
 im | нить |  =, : | Идентификатор сети обмена мгновенными сообщениями. | 
 externalId | нить |  =, : | Значение внешнего идентификатора. | 
 manager | нить |  = | Адрес электронной почты менеджера пользователя либо напрямую, либо в цепочке управления. | 
 managerId | нить |  = | Идентификатор менеджера пользователя либо напрямую, либо вверх по цепочке управления. | 
 directManager | нить |  = | Адрес электронной почты непосредственного менеджера пользователя. | 
 directManagerId | нить |  = | Идентификатор непосредственного менеджера пользователя. | 
 address | нить |  : | Соответствует всем полям адреса. | 
 addressPoBox | нить |  =, : | Почтовый ящик. | 
 addressExtended | нить |  =, : | Расширенный адрес, например, включающий субрегион. | 
 addressStreet | нить |  =, : | Уличный адрес. | 
 addressLocality | нить |  =, : | Город или город адреса. | 
 addressRegion | нить |  =, : | Сокращенное название провинции или штата. | 
 addressPostalCode | нить |  =, : | Почтовый индекс или почтовый индекс. | 
 addressCountry | нить |  =, : | Страна. | 
 orgName | нить |  =, : | Название организации. | 
 orgTitle | нить |  =, : | Должность пользователя в организации. | 
 orgDepartment | нить |  =, : | Отдел внутри организации. | 
 orgDescription | нить |  =, : | Описание организации. | 
 orgCostCenter | нить |  =, : | Центр затрат организации. | 
 phone | нить |  = | Номер телефона пользователя. | 
 orgUnitPath | нить |  = |  Полный путь к организационному подразделению. Это соответствует всем цепочкам организационных подразделений в рамках цели. Например, 'orgUnitPath=/' возвращает всех пользователей в организации. Это поле можно использовать только в том случае, если viewType=admin_view . | 
 isEnrolledIn2Sv | логическое значение |  = | Зарегистрирован ли пользователь в двухэтапной аутентификации. | 
 isEnforcedIn2Sv | логическое значение |  = | Включена ли для пользователя двухэтапная аутентификация. | 
 schemaName.fieldName | ? | ? |  Пользовательский атрибут пользователя , на который ссылается его схема и имя поля. Для свойства indexed поля должно быть установлено значение true . | 
Типы значений
| Тип значения | Тип поля эквивалентной схемы | Примечания | 
|---|---|---|
| нить |  STRING , EMAIL , PHONE |  Заключите одинарные кавычки ' , если запрос содержит пробелы. Экранируйте одинарные кавычки в запросах с помощью \' , например 'Valentine\'s Day' . | 
| логическое значение |  BOOL |  Должно иметь значение true или false . Поддерживается только оператор = . | 
| число |  INT64 , DOUBLE |  В качестве десятичного разделителя необходимо использовать точку, а не разделитель тысяч, например 150430.25 . | 
| дата |  DATE |  Указывается в формате ГГГГ-ММ-ДД, например 2001-02-15 | 
Операторы
| Оператор | Поддерживаемые типы значений | Примечания | 
|---|---|---|
 = | строка, логическое значение, число, дата |  Поле и значение точно совпадают. Например, givenName=Jane соответствует всем пользователям с атрибутом givenName "Jane" , но не "Jane Ann" . Поддерживается в большинстве строковых полей ( см. выше ). | 
 : | нить |  Поле содержит все слова внутри значения по порядку. Например, запрос с givenName:Jane сопоставляет пользователей со значениями givenName "Jane" и "Jane Ann" , но не "Janet" . Запрос из нескольких слов для 'givenName:Mary Ann' будет соответствовать значениям "Mary Ann Evans" и "Sarah Mary Ann" , но не "Ann Mary" . Поддерживается в большинстве строковых полей ( см. выше ). | 
 :{PREFIX}* | нить |  Поле начинается со значения. Например, запрос с givenName:Jane* сопоставляет пользователей со значениями givenName "Jane" , "Jane Ann" и "Janet" , но не "Sarah Jane" . Поддерживается только для ограниченного набора строковых полей ( см. выше ). Не поддерживается для пользовательских атрибутов. | 
 :[{MIN},{MAX}] | номер, дата |  Поле находится в пределах диапазона. Для соответствия значение поля должно быть больше или равно {MIN} и меньше {MAX} . Пользовательские числовые атрибуты должны указывать numericIndexingSpec для поддержки этого оператора. | 
 > | номер, дата |  Поле больше значения. Пользовательские числовые атрибуты должны указывать numericIndexingSpec для поддержки этого оператора. | 
 >= | номер, дата |  Поле больше или равно значению. Пользовательские числовые атрибуты должны указывать numericIndexingSpec для поддержки этого оператора. | 
 < | номер, дата |  Поле меньше значения. Пользовательские числовые атрибуты должны указывать numericIndexingSpec для поддержки этого оператора. | 
 <= | номер, дата |  Поле меньше или равно значению. Пользовательские числовые атрибуты должны указывать numericIndexingSpec для поддержки этого оператора. | 
Примеры
 Все запросы используют users.list , который имеет HTTP-запрос, подобный следующему (для удобства чтения включены разрывы строк):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Поиск пользователя по имени
 Поле запроса name проверяет объединенное значение givenName и familyName . Запрос name='Jane' не возвращает результатов для пользователя с givenName='Jane' и familyName='Smith' .
name='Jane Smith'
 Поиск пользователей с givenName ИЛИ familyName , содержащим значение.
name:'Jane'
Поиск пользователей, соответствующих префиксу электронной почты
email:admin*
Поиск всех суперадминистраторов
isAdmin=true
 Поиск пользователей, в orgTitles содержится слово «Менеджер».
orgTitle:Manager
Поиск пользователей с общим менеджером в цепочке отчетности
manager='janesmith@example.com'
Поиск пользователей с тем же непосредственным руководителем
directManager='bobjones@example.com'
Поиск пользователей в определенной стране
addressCountry='Sweden'
Поиск пользователей в конкретной организации
orgName='Human Resources'
Поиск менеджеров в конкретной организации
orgName=Engineering orgTitle:Manager
Поиск пользовательских атрибутов пользователя
Поиск всех сотрудников, которые работают над конкретным проектом
EmploymentData.projects:'GeneGnomes'
Поиск всех сотрудников в определенном месте
EmploymentData.location='Atlanta'
Поиск всех сотрудников выше 7-го уровня должности.
EmploymentData.jobLevel>=7
Найдите всех сотрудников с должностными уровнями >= 5 и < 8.
EmploymentData.jobLevel:[5,8]
Найдите всех сотрудников, которые зарегистрированы в двухэтапной vVerification.
isEnrolledIn2Sv=true
Найдите всех сотрудников, у которых включена двухэтапная аутентификация.
isEnforcedIn2Sv=true