Поиск пользователей

Вы можете искать пользователей, соответствующих определенным атрибутам, с помощью 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