Directory API के users.list() तरीके का इस्तेमाल करके, कुछ एट्रिब्यूट से मेल खाने वाले उपयोगकर्ताओं को खोजा जा सकता है. यह तरीका, query पैरामीटर को स्वीकार करता है. यह एक खोज क्वेरी है, जिसमें खोज के एक या उससे ज़्यादा क्लॉज़ शामिल होते हैं. खोज के हर क्लॉज़ में तीन हिस्से होते हैं:
- फ़ील्ड
- उपयोगकर्ता का वह एट्रिब्यूट जिसे खोजा गया है. उदाहरण के लिए,
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 होनी चाहिए. सिर्फ़ = ऑपरेटर का इस्तेमाल किया जा सकता है. |
| संख्या | 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
मेथड का इस्तेमाल करती हैं. इसमें एचटीटीपी अनुरोध इस तरह का होता है (पढ़ने में आसानी के लिए लाइन ब्रेक शामिल किए गए हैं):
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
उन सभी कर्मचारियों को खोजें जिनका जॉब लेवल पांच से ज़्यादा या उसके बराबर है और आठ से कम है
EmploymentData.jobLevel:[5,8]
उन सभी कर्मचारियों को खोजें जिन्होंने दो चरणों में पुष्टि करने की सुविधा के लिए रजिस्टर किया है
isEnrolledIn2Sv=true
उन सभी कर्मचारियों को खोजें जिनके लिए दो चरणों में पुष्टि करने की सुविधा लागू की गई है
isEnforcedIn2Sv=true