Wyszukaj użytkowników

Za pomocą metody users.list() interfejsu Directory API możesz wyszukiwać użytkowników, którzy pasują do określonych atrybutów. Ta metoda akceptuje parametr query, który jest zapytaniem wyszukiwania zawierającym co najmniej 1 klauzulę wyszukiwania. Każda klauzula wyszukiwania składa się z 3 części:

Pole
Atrybut użytkownika, który jest wyszukiwany. Na przykład: givenName.
Operator
Test wykonywany na danych w celu zapewnienia dopasowania. Na przykład operator :sprawdza, czy atrybut tekstowy zawiera wartość.
Wartość
Treści atrybutu, który jest testowany. Na przykład: Jane.

Aby wyszukać w zapytaniu wiele pól, dodaj każdą klauzulę wyszukiwania oddzieloną spacjami. Operacja jest domyślną operacją AND.

Pola

Pole Typ wartości Operatory Opis
Nie określono ciąg znaków Porównaj z wartością w givenName, familyName lub email.
name ciąg znaków =, : Wartość utworzona przez złączenie wartości givenNamefamilyName.
email ciąg znaków =, :, :{PREFIX}* Adresy e-mail użytkownika, w tym aliasy.
givenName ciąg znaków =, :, :{PREFIX}* Imię użytkownika.
familyName ciąg znaków =, :, :{PREFIX}* Nazwisko lub nazwa użytkownika.
isAdmin wartość logiczna = Określa, czy użytkownik ma uprawnienia superadministratora.
isDelegatedAdmin wartość logiczna = Czy użytkownik ma delegowane uprawnienia administratora.
isSuspended wartość logiczna = czy konto użytkownika jest zawieszone.
isArchived wartość logiczna = czy konto użytkownika jest zarchiwizowane.
im ciąg znaków =, : Identyfikator sieci IM.
externalId ciąg znaków =, : Wartość identyfikatora zewnętrznego.
manager ciąg znaków = Adres e-mail menedżera użytkownika, bezpośrednio lub wyżej w łańcuchu zarządzania.
managerId ciąg znaków = Identyfikator menedżera użytkownika, bezpośrednio lub w łańcuchu zarządzania.
directManager ciąg znaków = Adres e-mail bezpośredniego przełożonego użytkownika.
directManagerId ciąg znaków = Identyfikator bezpośredniego menedżera użytkownika.
address ciąg znaków : Dopasowuje wszystkie pola adresu.
addressPoBox ciąg znaków =, : Skrzynka pocztowa.
addressExtended ciąg znaków =, : Rozszerzony adres, np. zawierający podregion.
addressStreet ciąg znaków =, : Ulica i numer.
addressLocality ciąg znaków =, : Miasto lub miejscowość z adresu.
addressRegion ciąg znaków =, : Skrót nazwy prowincji lub stanu.
addressPostalCode ciąg znaków =, : Kod pocztowy.
addressCountry ciąg znaków =, : kraj,
orgName ciąg znaków =, : Nazwa organizacji.
orgTitle ciąg znaków =, : Tytuł użytkownika w organizacji.
orgDepartment ciąg znaków =, : Dział w organizacji.
orgDescription ciąg znaków =, : Opis organizacji.
orgCostCenter ciąg znaków =, : Centrum kosztów organizacji.
phone ciąg znaków = Numer telefonu użytkownika.
orgUnitPath ciąg znaków = Pełna ścieżka jednostki organizacyjnej. Dopasowuje wszystkie łańcuchy jednostek organizacyjnych podrzędnych do docelowej jednostki. Na przykład 'orgUnitPath=/' zwraca wszystkich użytkowników w organizacji. Z tego pola można korzystać tylko wtedy, gdy viewType=admin_view.
isEnrolledIn2Sv wartość logiczna = Określa, czy użytkownik korzysta z weryfikacji dwuetapowej.
isEnforcedIn2Sv wartość logiczna = Określa, czy weryfikacja dwuetapowa jest wymuszana na koncie użytkownika.
schemaName.fieldName ? ? Atrybut niestandardowy użytkownika, na który wskazuje się za pomocą jego schematu i nazwy pola. Właściwość indexed musi mieć wartość true.

Typy wartości

Typ wartości Odpowiednik w schemacie fieldType Uwagi
ciąg znaków STRING, EMAIL, PHONE Jeśli zapytanie zawiera spacje, ująć je w cudzysłowie '. W zapytaniach należy stosować cudzysłów pojedynczy z użyciem znaku \', np. 'Valentine\'s Day'.
wartość logiczna BOOL Wartość musi wynosić true lub false. Obsługuje tylko operator =.
liczba INT64, DOUBLE Jako separatora dziesiętnego należy używać kropki, a nie separatora tysięcy, na przykład 150430.25.
data DATE W formacie RRRR-MM-DD, np. 2001-02-15.

Operatory

Operator Obsługiwane typy wartości Uwagi
= ciąg znaków, wartość logiczna, liczba, data Pole i wartość są identyczne. Na przykład reguła givenName=Jane pasuje do wszystkich użytkowników z atrybutem givenName o wartości "Jane", ale nie "Jane Ann". Obsługiwane w większości pól ciągu znaków (patrz wyżej).
: ciąg znaków Pole zawiera w wartości pełne słowa w kolejności. Na przykład zapytanie z wartością givenName:Jane pasuje do użytkowników z wartością givenName = "Jane""Jane Ann", ale nie "Janet". Zapytanie wielowyrazowe dotyczące 'givenName:Mary Ann' pasuje do wartości "Mary Ann Evans" i "Sarah Mary Ann", ale nie do "Ann Mary". Obsługiwane w większości pól ciągu znaków (patrz wyżej).
:{PREFIX}* ciąg znaków Pole zaczyna się od wartości. Na przykład zapytanie z wartością givenName:Jane* pasuje do użytkowników z wartością givenName = "Jane", "Jane Ann" = "Janet", ale nie "Sarah Jane". Obsługiwane tylko w przypadku ograniczonego zbioru pól ciągu znaków (patrz wyżej). Nieobsługiwane w przypadku atrybutów niestandardowych.
:[{MIN},{MAX}] liczba, data Pole mieści się w zakresie. Aby dopasowanie było możliwe, wartość pola musi być większa lub równa {MIN} i mniejsza niż {MAX}. Aby obsługiwać ten operator, niestandardowe atrybuty numeru muszą zawierać wartość numericIndexingSpec.
> liczba, data Pole jest większe niż wartość. Aby obsługiwać ten operator, niestandardowe atrybuty numeru muszą zawierać wartość numericIndexingSpec.
>= liczba, data Pole jest większe lub równe wartości. Aby obsługiwać ten operator, niestandardowe atrybuty numeru muszą zawierać wartość numericIndexingSpec.
< liczba, data Pole jest mniejsze od wartości. Aby obsługiwać ten operator, niestandardowe atrybuty numeru muszą zawierać wartość numericIndexingSpec.
<= liczba, data Pole jest mniejsze lub równe wartości. Aby obsługiwać ten operator, niestandardowe atrybuty numeru muszą zawierać wartość numericIndexingSpec.

Przykłady

Wszystkie zapytania korzystają z metody users.list, która ma żądanie HTTP podobne do tego (przerwy w wierszach dodano w celu ułatwienia odczytania):

GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS

Wyszukiwanie użytkownika według nazwy

Pole zapytania name testuje wartości połączone givenName i familyName. Zapytanie name='Jane' nie zwraca żadnych wyników dla użytkownika z adresem givenName='Jane'familyName='Smith'.

name='Jane Smith'

Wyszukiwanie użytkowników na podstawie pola givenName LUB familyName zawierającego wartość

name:'Jane'

Wyszukiwanie użytkowników pasujących do prefiksu adresu e-mail

email:admin*

Wyszukiwanie wszystkich superadministratorów

isAdmin=true

Szukaj użytkowników, których orgTitles zawiera „Menedżer”

orgTitle:Manager

Wyszukiwanie użytkowników, którzy mają wspólnego menedżera w łańcuchu podporządkowania

manager='janesmith@example.com'

Wyszukiwanie użytkowników mających tego samego bezpośredniego menedżera

directManager='bobjones@example.com'

Wyszukiwanie użytkowników w danym kraju

addressCountry='Sweden'

Wyszukiwanie użytkowników w określonej organizacji

orgName='Human Resources'

Wyszukiwanie menedżerów w określonej organizacji

orgName=Engineering orgTitle:Manager

Wyszukiwanie niestandardowych atrybutów użytkowników

Wyszukiwanie wszystkich pracowników, którzy pracują nad konkretnym projektem

EmploymentData.projects:'GeneGnomes'

Wyszukiwanie wszystkich pracowników w określonej lokalizacji

EmploymentData.location='Atlanta'

Wyszukiwanie wszystkich pracowników powyżej poziomu stanowiska 7

EmploymentData.jobLevel>=7

Wyszukiwanie wszystkich pracowników o poziomie stanowiska >= 5 i < 8

EmploymentData.jobLevel:[5,8]

Wyszukiwanie wszystkich pracowników, którzy korzystają z weryfikacji dwuetapowej

isEnrolledIn2Sv=true

Wyszukiwanie wszystkich pracowników, którzy muszą korzystać z weryfikacji dwuetapowej

isEnforcedIn2Sv=true