אפשר לחפש משתמשים שתואמים למאפיינים מסוימים באמצעות השיטה users.list()
של Directory API. השיטה הזו מקבלת את הפרמטר query
, שהוא שאילתת חיפוש שמשלבת סעיף חיפוש אחד או יותר. כל סעיף חיפוש מורכב מ-3 חלקים:
- שדה
- מאפיין משתמש שבוצע עבורו חיפוש. לדוגמה:
givenName
. - מפעיל
- בדיקה שמתבצעת על הנתונים כדי לספק התאמה. לדוגמה, האופרטור
:
בודק אם מאפיין טקסט מכיל ערך. - תמורה לכסף
- תוכן המאפיין שנבדק. לדוגמה:
Jane
.
כדי לחפש כמה שדות בשאילתה, מוסיפים כל תנאי חיפוש ומפרידים ביניהם ברווח. הפעולה היא AND
משתמע.
שדות
שדה | סוג הערך | אופרטורים | תיאור |
---|---|---|---|
לא צוין | מחרוזת | אפשר להשוות אותו לערך בעמודות givenName , familyName או email . |
|
name |
מחרוזת | =, : |
הערך המשורשר של givenName ו-familyName . |
email |
מחרוזת | = , : , :{PREFIX}* |
כתובות האימייל של המשתמש, כולל כתובות אימייל חלופיות. |
givenName |
מחרוזת | = , : , :{PREFIX}* |
השם הפרטי או השם הפרטי של המשתמש. |
familyName |
מחרוזת | = , : , :{PREFIX}* |
שם המשפחה או שם המשפחה של המשתמש. |
isAdmin |
boolean | = |
האם למשתמש יש הרשאות של משתמש-על. |
isDelegatedAdmin |
boolean | = |
האם למשתמש יש הרשאות אדמין? |
isSuspended |
boolean | = |
האם חשבון המשתמש מושעה. |
isArchived |
boolean | = |
האם חשבון המשתמש מועבר לארכיון. |
im |
מחרוזת | =, : |
מזהה רשת 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 |
boolean | = |
האם המשתמש רשום לאימות דו-שלבי. |
isEnforcedIn2Sv |
boolean | = |
האם אימות דו-שלבי נאכף על המשתמש. |
schemaName.fieldName |
? | ? | מאפיין משתמש מותאם אישית, שהסכימה ושם השדה שלו מפנים אליו. חובה להגדיר בשדה את המאפיין indexed כ-true . |
סוגי ערכים
סוג הערך | fieldType של הסכימה המקבילה | הערות |
---|---|---|
מחרוזת | STRING , EMAIL , PHONE |
מוקף במירכאות יחידות ' אם השאילתה מכילה רווח לבן. השתמשו בתו בריחה (escape) במירכאות יחידות בשאילתות עם המילה \' , לדוגמה 'Valentine\'s Day' . |
boolean | BOOL |
הערך חייב להיות true או false . יש תמיכה רק באופרטור = . |
מספר | INT64 , DOUBLE |
חובה להשתמש בנקודה כמפריד עשרוני וללא מפריד אלפים. לדוגמה: 150430.25 . |
date | DATE |
מצוין בפורמט YYYY-MM-DD, לדוגמה 2001-02-15 . |
אופרטורים
מפעיל | סוגי ערכים נתמכים | הערות |
---|---|---|
= |
string, boolean, number, date | הערך בשדה ובערך תואמים בדיוק. לדוגמה, הפונקציה 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 מאפיינים של מספרים בהתאמה אישית. |
דוגמאות
כל השאילתות משתמשות ב-method 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]
חיפוש כל העובדים שרשומים לאימות דו-שלבי של האימות
isEnrolledIn2Sv=true
חיפוש כל העובדים שהגדירו אכיפה של אימות דו-שלבי
isEnforcedIn2Sv=true