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 givenName i familyName.
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 do obsługi komunikatora.
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ść, w której znajduje się adres.
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 jego schemat i nazwa 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
= string, boolean, number, date 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, którzy mają 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" = "Jane Ann""Janet" = "Jane Ann", 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 ma wartość mniejszą 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 używają metody users.list, która ma żądanie HTTP podobne do tego (przerwy między wierszami w celu ułatwienia czytelności):

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