उपयोगकर्ताओं को खोजें

डायरेक्ट्री एपीआई के users.list() तरीके की मदद से, कुछ एट्रिब्यूट से मेल खाने वाले उपयोगकर्ताओं को खोजा जा सकता है. यह तरीका query पैरामीटर को स्वीकार करता है. यह एक ऐसी सर्च क्वेरी है जो एक या उससे ज़्यादा सर्च क्लॉज़ को मिलाकर बनाई जाती है. हर सर्च क्लॉज़ में तीन हिस्से होते हैं:

फ़ील्ड
खोजा गया उपयोगकर्ता का एट्रिब्यूट. उदाहरण के लिए, 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 ज़रूरी जानकारी
स्ट्रिंग STRING, EMAIL, PHONE अगर क्वेरी में खाली सफ़ेद जगह है, तो उसे सिंगल कोट ' में रखें. \' की मदद से क्वेरी में सिंगल कोट को एस्केप करें, जैसे कि 'Valentine\'s Day'.
boolean BOOL वैल्यू true या false होनी चाहिए. यह सिर्फ़ = ऑपरेटर के साथ काम करता है.
नंबर INT64, DOUBLE पीरियड को दशमलव सेपरेटर के तौर पर इस्तेमाल करें और हज़ार की संख्या को अलग करने वाले सेपरेटर के तौर पर इस्तेमाल करें. जैसे, 150430.25.
date DATE YYYY-MM-DD फ़ॉर्मैट में बताया गया है, उदाहरण के लिए 2001-02-15.

ऑपरेटर

ऑपरेटर इस्तेमाल किए जा सकने वाले वैल्यू टाइप ज़रूरी जानकारी
= string, boolean, number, date फ़ील्ड और वैल्यू पूरी तरह से मेल खाती हैं. उदाहरण के लिए, givenName=Jane, givenName एट्रिब्यूट वाले "Jane" वाले सभी उपयोगकर्ताओं से मैच करता है, लेकिन "Jane Ann" से मेल नहीं खाता. ज़्यादातर स्ट्रिंग फ़ील्ड पर काम करता है (ऊपर देखें).
: स्ट्रिंग फ़ील्ड में वैल्यू में सभी शब्द क्रम में होते हैं. उदाहरण के लिए, givenName:Jane वाली क्वेरी, "Jane" और "Jane Ann" के givenName वैल्यू वाले उपयोगकर्ताओं से मैच करती है, लेकिन "Janet" से नहीं. 'givenName:Mary Ann' के लिए कई शब्दों वाली क्वेरी, "Mary Ann Evans" और "Sarah Mary Ann" की वैल्यू से मेल खाएगी, लेकिन "Ann Mary" से नहीं. ज़्यादातर स्ट्रिंग फ़ील्ड पर काम करता है (ऊपर देखें).
:{PREFIX}* स्ट्रिंग फ़ील्ड की वैल्यू से शुरू होती है. उदाहरण के लिए, givenName:Jane* वाली क्वेरी, "Jane", "Jane Ann", और "Janet" की givenName वैल्यू वाले उपयोगकर्ताओं से मेल खाती है, लेकिन "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

ऐसे सभी कर्मचारियों को खोजें जिनके जॉब लेवल >= 5 और 8 8 हैं

EmploymentData.jobLevel:[5,8]

उन सभी कर्मचारियों को खोजें जिन्होंने दो चरणों में पुष्टि की प्रक्रिया के लिए रजिस्टर किया है

isEnrolledIn2Sv=true

उन सभी कर्मचारियों को खोजें जिनके लिए दो चरणों में पुष्टि की सुविधा लागू है

isEnforcedIn2Sv=true