Wyszukaj użytkowników

Możesz wyszukiwać użytkowników pasujących do określonych atrybutów za pomocą metody users.list() interfejsu Directory API. Ta metoda akceptuje parametr query, który jest zapytaniem wyszukiwania łączą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 przeprowadzany na danych w celu dopasowania. Na przykład operator : sprawdza, czy atrybut tekstowy zawiera wartość.
Wartość
Treść testowanego atrybutu. Na przykład: Jane.

Aby wyszukać w zapytaniu wiele pól, dodaj poszczególne klauzule wyszukiwania, oddzielając je spacją. Operacja jest niejawną operacją AND.

Pola

Pole Typ wartości Operatory Opis
Nie określono ciąg znaków Porównaj z wartością w kolumnie givenName, familyName lub email.
name ciąg znaków =, : Połączona wartość parametrów 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 użytkownika.
isAdmin Wartość logiczna = Określa, czy użytkownik ma uprawnienia superadministratora.
isDelegatedAdmin Wartość logiczna = Określa, czy użytkownik ma uprawnienia administratora delegowanego.
isSuspended Wartość logiczna = Czy konto użytkownika jest zawieszone.
isArchived Wartość logiczna = informację, czy konto użytkownika jest zarchiwizowane;
im ciąg znaków =, : Identyfikator sieci komunikatora.
externalId ciąg znaków =, : Wartość zewnętrznego identyfikatora.
manager ciąg znaków = Adres e-mail menedżera użytkownika bezpośrednio lub w strukturze organizacyjnej.
managerId ciąg znaków = Identyfikator menedżera użytkownika bezpośrednio lub w strukturze organizacyjnej.
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 =, : skrytka pocztowa;
addressExtended ciąg znaków =, : Rozszerzony adres, np. adres zawierający podregion.
addressStreet ciąg znaków =, : Ulica i numer.
addressLocality ciąg znaków =, : Miejscowość lub miasto w adresie.
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 =, : Stanowisko 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. Obejmuje to wszystkie łańcuchy jednostek organizacyjnych w obszarze docelowym. Na przykład 'orgUnitPath=/' zwraca wszystkich użytkowników w organizacji. To pole można używać 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, do którego odwołuje się jego schemat i nazwa pola. Pole musi mieć właściwość indexed ustawioną na true.

Typy wartości

Typ wartości Odpowiednik w schemacie fieldType Uwagi
ciąg znaków STRING, EMAIL, PHONE Jeśli zapytanie zawiera spacje, umieść je w apostrofach '. Pojedyncze cudzysłowy w zapytaniach należy poprzedzać znakiem \', np. 'Valentine\'s Day'.
Wartość logiczna BOOL Musi mieć wartość true lub false. Obsługuje tylko operator =.
liczba INT64, DOUBLE Jako separatora dziesiętnego należy używać kropki, a separatora tysięcy nie należy stosować, np. 150430.25.
data DATE Podana 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ść muszą być dokładnie takie same. 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 tekstowych (patrz wyżej).
: ciąg znaków Pole zawiera całe słowa w wartości w odpowiedniej kolejności. Na przykład zapytanie z warunkiem givenName:Jane pasuje do użytkowników, których wartością parametru givenName jest "Jane" lub "Jane Ann", ale nie "Janet". Zapytanie wielosłowne dotyczące 'givenName:Mary Ann' będzie pasować do wartości "Mary Ann Evans""Sarah Mary Ann", ale nie do "Ann Mary". Obsługiwane w większości pól tekstowych (patrz wyżej).
:{PREFIX}* ciąg znaków Pole zaczyna się od wartości. Na przykład zapytanie z warunkiem givenName:Jane* pasuje do użytkowników, których wartością parametru givenName jest "Jane", "Jane Ann" lub "Janet", ale nie "Sarah Jane". Obsługiwane tylko w przypadku ograniczonego zestawu pól tekstowych (patrz wyżej). Nie jest obsługiwane w przypadku atrybutów niestandardowych.
:[{MIN},{MAX}] liczba, data Pole mieści się w zakresie. Aby nastąpiło dopasowanie, wartość pola musi być większa lub równa {MIN} i mniejsza niż {MAX}. Aby obsługiwać ten operator, atrybuty niestandardowe typu liczba muszą określać numericIndexingSpec.
> liczba, data Wartość pola jest większa od wartości. Aby obsługiwać ten operator, atrybuty niestandardowe typu liczba muszą określać numericIndexingSpec.
>= liczba, data Pole ma wartość większą od lub równą wartości. Aby obsługiwać ten operator, atrybuty niestandardowe typu liczba muszą określać numericIndexingSpec.
< liczba, data Wartość pola jest mniejsza niż wartość. Aby obsługiwać ten operator, atrybuty niestandardowe typu liczba muszą określać numericIndexingSpec.
<= liczba, data Wartość w polu jest mniejsza lub równa wartości. Aby obsługiwać ten operator, atrybuty niestandardowe typu liczba muszą określać numericIndexingSpec.

Przykłady

Wszystkie zapytania używają metody users.list, która ma żądanie HTTP podobne do tego (podziały wierszy zostały dodane dla czytelności):

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

Wyszukiwanie użytkownika według imienia i nazwiska

Pole zapytania name testuje połączoną wartość givenNamefamilyName. Zapytanie o name='Jane' nie zwraca wyników w przypadku użytkownika, który ma givenName='Jane'familyName='Smith'.

name='Jane Smith'

Wyszukiwanie użytkowników z givenName LUB familyName zawierającym wartość

name:'Jane'

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

email:admin*

Wyszukiwanie wszystkich superadministratorów

isAdmin=true

Wyszukaj użytkowników, których orgTitles zawiera „Manager”

orgTitle:Manager

Wyszukiwanie użytkowników, którzy mają wspólnego menedżera w swojej strukturze raportowania

manager='janesmith@example.com'

Wyszukiwanie użytkowników z tym samym bezpośrednim menedżerem

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żytkownika

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 na stanowiskach powyżej poziomu 7

EmploymentData.jobLevel>=7

Wyszukaj wszystkich pracowników, których poziom stanowiska jest >= 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 mają włączoną weryfikację dwuetapową

isEnforcedIn2Sv=true