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

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 वाली क्वेरी, "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

ऐसे सभी कर्मचारियों को खोजें जिनका लेवल पांच से ज़्यादा और आठ से कम है

EmploymentData.jobLevel:[5,8]

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

isEnrolledIn2Sv=true

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

isEnforcedIn2Sv=true