يمكنك البحث عن مستخدمين يتطابقون مع سمات معيّنة باستخدام الأسلوب
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