البحث عن مستخدمين

يمكنك البحث عن مستخدمين يتطابقون مع سمات معيّنة باستخدام الأسلوب 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 سلسلة =, : رقم تعريف شبكة المراسلة الفورية
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. لا تتيح سوى عامل التشغيل =.
الرقم INT64، DOUBLE يجب استخدام النقطة كفاصل عشري بدون فاصل آلاف، على سبيل المثال 150430.25.
التاريخ DATE يتم تحديده بالتنسيق YYYY-MM-DD، على سبيل المثال 2001-02-15.

عوامل التشغيل

مُشغِّل أنواع القيم المسموح بها ملاحظات
= سلسلة أو قيمة منطقية أو رقم أو تاريخ يتطابق الحقل مع القيمة تمامًا. على سبيل المثال، تتطابق 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