חיפוש משתמשים

אפשר לחפש משתמשים שתואמים למאפיינים מסוימים באמצעות השיטה 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