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