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