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