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