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 łączącym co najmniej 1 klauzulę wyszukiwania. Każda klauzula wyszukiwania składa się
z 3 części:
- Pole
- Przeszukiwany atrybut użytkownika. Na przykład:
givenName
. - Operator
- Test wykonywany na danych w celu znalezienia dopasowania. Na przykład operator
:
sprawdza, czy atrybut tekstowy zawiera wartość. - Wartość
- Zawartość testowanego atrybutu. Na przykład:
Jane
.
Aby przeszukać wiele pól w zapytaniu, dodaj klauzulę wyszukiwania oddzieloną spacją. Ta operacja jest niejawna AND
.
Pola
Pole | Typ wartości | Operatory | Opis |
---|---|---|---|
Nie określono | string, | Porównaj z wartością w givenName , familyName lub email . |
|
name |
string, | =, : |
Połączona wartość givenName i familyName . |
email |
string, | = , : , :{PREFIX}* |
Adresy e-mail użytkownika (w tym aliasy). |
givenName |
string, | = , : , :{PREFIX}* |
Imię lub nazwisko użytkownika. |
familyName |
string, | = , : , :{PREFIX}* |
Nazwisko lub nazwisko użytkownika. |
isAdmin |
boolean | = |
Informacja, czy użytkownik ma uprawnienia superadministratora. |
isDelegatedAdmin |
boolean | = |
Określa, czy użytkownik ma delegowane uprawnienia administratora. |
isSuspended |
boolean | = |
Określa, czy konto użytkownika jest zawieszone. |
isArchived |
boolean | = |
Określa, czy konto użytkownika jest archiwizowane. |
im |
string, | =, : |
Identyfikator sieci komunikatora. |
externalId |
string, | =, : |
Wartość identyfikatora zewnętrznego. |
manager |
string, | = |
Adres e-mail przełożonego użytkownika bezpośrednio lub na wyższym poziomie hierarchii. |
managerId |
string, | = |
Identyfikator kierownika użytkownika bezpośrednio lub na wyższym poziomie zarządzania. |
directManager |
string, | = |
Adres e-mail bezpośredniego przełożonego użytkownika. |
directManagerId |
string, | = |
Identyfikator bezpośredniego menedżera użytkownika. |
address |
string, | : |
Dopasowuje wszystkie pola adresu. |
addressPoBox |
string, | =, : |
Skrytka pocztowa. |
addressExtended |
string, | =, : |
rozszerzony adres, na przykład zawierający podregion; |
addressStreet |
string, | =, : |
Ulica i numer. |
addressLocality |
string, | =, : |
Miasto lub miejscowość powiązana z tym adresem. |
addressRegion |
string, | =, : |
Skrócona prowincja lub stan. |
addressPostalCode |
string, | =, : |
Kod pocztowy. |
addressCountry |
string, | =, : |
Kraj. |
orgName |
string, | =, : |
Nazwa organizacji. |
orgTitle |
string, | =, : |
Stanowisko użytkownika w organizacji. |
orgDepartment |
string, | =, : |
Dział w organizacji. |
orgDescription |
string, | =, : |
Opis organizacji. |
orgCostCenter |
string, | =, : |
Centrum kosztów organizacji. |
phone |
string, | = |
Numer telefonu użytkownika. |
orgUnitPath |
string, | = |
Pełna ścieżka jednostki organizacyjnej. Pasuje do wszystkich łańcuchów jednostek organizacyjnych w ramach środowiska docelowego. Na przykład 'orgUnitPath=/' zwraca wszystkich użytkowników w organizacji. Tego pola można używać tylko wtedy, gdy viewType=admin_view . |
isEnrolledIn2Sv |
boolean | = |
Określa, czy użytkownik zarejestrował się w usłudze weryfikacji dwuetapowej. |
isEnforcedIn2Sv |
boolean | = |
Określa, czy na kontach użytkowników jest wymuszane korzystanie z weryfikacji dwuetapowej. |
schemaName.fieldName |
? | ? | Niestandardowy atrybut użytkownika, do którego odwołuje się jego schemat i nazwa pola. Właściwość indexed tego pola musi być ustawiona na true . |
Typy wartości
Typ wartości | Odpowiednik fieldType schematu | Uwagi |
---|---|---|
string, | STRING , EMAIL , PHONE |
Jeśli zapytanie zawiera spacje, ujmij je w pojedyncze cudzysłowy ' . Jeśli w zapytaniach używasz znaku \' , zmień znaczenie pojedynczego cudzysłowu, np. 'Valentine\'s Day' . |
boolean | BOOL |
Musi mieć wartość true lub false . Obsługuje tylko operator = . |
Liczba | INT64 , DOUBLE |
Jako separatora dziesiętnego należy użyć kropki, a nie separatora tysięcy, np. 150430.25 . |
date | DATE |
Jest podany 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ą dokładnie takie same. Na przykład givenName=Jane pasuje do wszystkich użytkowników z atrybutem givenName "Jane" , ale nie pasuje do "Jane Ann" . Obsługiwana w przypadku większości pól ciągu znaków (patrz wyżej). |
: |
string, | Pole zawiera całe wyrazy w określonej kolejności. Na przykład zapytanie z parametrem givenName:Jane odpowiada użytkownikom, których givenName ma wartość "Jane" i "Jane Ann" , ale nie "Janet" . Zapytanie wielowyrazowe 'givenName:Mary Ann' zwróciłoby się z wartościami "Mary Ann Evans" i "Sarah Mary Ann" , ale nie "Ann Mary" . Obsługiwana w przypadku większości pól ciągu znaków (patrz wyżej). |
:{PREFIX}* |
string, | Pole zaczyna się od wartości. Na przykład zapytanie z parametrem givenName:Jane* odpowiada użytkownikom, których givenName ma wartości "Jane" , "Jane Ann" i "Janet" , ale nie "Sarah Jane" . Ta funkcja jest obsługiwana tylko w przypadku ograniczonej liczby pól ciągów tekstowych (patrz wyżej). Nieobsługiwane w przypadku atrybutów niestandardowych. |
:[{MIN},{MAX}] |
liczba, data | Pole mieści się w zakresie. Aby można było dopasować, wartość pola musi być większa lub równa {MIN} i mniejsza niż {MAX} . Aby można było obsługiwać ten operator, atrybuty niestandardowych liczb muszą zawierać parametr numericIndexingSpec . |
> |
liczba, data | Wartość w polu jest większa od wartości. Aby można było obsługiwać ten operator, atrybuty niestandardowych liczb muszą zawierać parametr numericIndexingSpec . |
>= |
liczba, data | Wartość w polu jest większa od wartości lub jej równa. Aby można było obsługiwać ten operator, atrybuty niestandardowych liczb muszą zawierać parametr numericIndexingSpec . |
< |
liczba, data | Wartość w polu jest mniejsza od wartości. Aby można było obsługiwać ten operator, atrybuty niestandardowych liczb muszą zawierać parametr numericIndexingSpec . |
<= |
liczba, data | Wartość w polu jest mniejsza od wartości lub jej równa. Aby można było obsługiwać ten operator, atrybuty niestandardowych liczb muszą zawierać parametr numericIndexingSpec . |
Przykłady
Wszystkie zapytania korzystają z metody users.list
, która zawiera żądanie HTTP podobne do tego (podziały wierszy uwzględnione w celu zwiększenia 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 połączone wartości givenName
i familyName
. Zapytanie name='Jane'
nie zwraca żadnych wyników dla użytkownika z atrybutami givenName='Jane'
i familyName='Smith'
.
name='Jane Smith'
Wyszukiwanie użytkowników z elementem givenName
LUB familyName
zawierającym wartość
name:'Jane'
Wyszukiwanie użytkowników pasujących do prefiksu adresu e-mail
email:admin*
Wyszukaj wszystkich superadministratorów
isAdmin=true
Wyszukaj użytkowników, których orgTitles
zawiera słowo „Menedżer”
orgTitle:Manager
Wyszukiwanie użytkowników z wspólnym menedżerem w łańcuchu 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
Wyszukaj niestandardowe atrybuty użytkownika
Wyszukaj wszystkich pracowników, którzy pracują nad określonym projektem
EmploymentData.projects:'GeneGnomes'
Wyszukiwanie wszystkich pracowników w określonej lokalizacji
EmploymentData.location='Atlanta'
Wyszukaj wszystkich pracowników na poziomie wyższym niż 7
EmploymentData.jobLevel>=7
Wyszukaj wszystkich pracowników na poziomach >= 5 i <8
EmploymentData.jobLevel:[5,8]
Wyszukaj wszystkich pracowników, którzy korzystają z weryfikacji dwuetapowej
isEnrolledIn2Sv=true
Wyszukaj wszystkich pracowników, którzy mają wymuszoną weryfikację dwuetapową
isEnforcedIn2Sv=true