يمكنك البحث عن مستخدمين يطابقون سمات معيّنة باستخدام طريقة 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 |
سلسلة | =, : |
رقم تعريف شبكة المراسلة الفورية. |
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 للمخطط المكافئ | Notes |
---|---|---|
سلسلة | STRING وEMAIL وPHONE |
إحاطة بعلامة اقتباس مفردة ' إذا كان طلب البحث يحتوي على مسافة بيضاء. يمكنك تجاهل علامات الاقتباس المفردة في طلبات البحث باستخدام \' ، على سبيل المثال 'Valentine\'s Day' . |
boolean | BOOL |
يجب أن تبلغ القيمة true أو false . متوافقة فقط مع عامل التشغيل = . |
الرقم | INT64 ، DOUBLE |
يجب استخدام النقطة كفاصل عشري وليس فاصل الآلاف، على سبيل المثال 150430.25 . |
التاريخ | DATE |
يتم تحديد التنسيق بالتنسيق YYYY-MM-DD، على سبيل المثال 2001-02-15 . |
عوامل التشغيل
مُشغِّل | أنواع القيم المسموح بها | Notes |
---|---|---|
= |
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 لإتاحة عامل التشغيل هذا. |
أمثلة
تستخدم جميع طلبات البحث الطريقة 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