डायरेक्ट्री एपीआई: संगठन की इकाइयां

संगठन की इकाइयों को मैनेज करें

Google Workspace खाते का संगठन ट्री, संगठन की इकाइयों से मिलकर बना होता है. इसकी मदद से, अपने उपयोगकर्ताओं को लॉजिकल और हैरारकी के हिसाब से मैनेज किया जा सकता है. यह Admin console के 'संगठन और उपयोगकर्ता' टैब पर मिलने वाली काम की क्षमता से मिलता-जुलता है. ग्राहक के संगठन की इकाई की हैरारकी में, गहराई के 35 लेवल तक शामिल हो सकते हैं. ज़्यादा जानकारी के लिए, Admin सहायता केंद्र पर जाएं.

  • Google Workspace खाते के लिए सिर्फ़ एक संगठन ट्री होता है. जब इस खाते को शुरुआत में कॉन्फ़िगर किया जाता है, तो इसमें खाता-लेवल पर संगठन की एक इकाई मौजूद होती है. यह प्राइमरी डोमेन से जुड़ा संगठन है. प्राइमरी डोमेन के बारे में ज़्यादा जानकारी के लिए, एपीआई की सीमाओं की जानकारी देखें.
  • संगठन की इकाई का पाथनेम यूनीक होता है. हो सकता है कि संगठन की इकाई का नाम, संगठन की हैरारकी में यूनीक न हो, लेकिन संगठन की हर इकाई के लिए इसका नाम अलग-अलग होता है. संगठन की इकाई का नाम केस-इनसेंसिटिव होता है.
  • संगठन की इकाई पर, संगठन की हैरारकी की नीतियां लागू होती हैं. संगठन की कोई भी इकाई, इनहेरिट की गई नीति को बदलकर, पैरंटल इनहेरिटेंस की इस चेन को ब्लॉक कर सकती है. किसी एक नीति को दूसरी नीति के मुकाबले लागू किए जाने का क्रम, संगठन की सबसे नज़दीकी इकाई तय करता है. इसका मतलब है कि संगठन की एक निचली इकाई की नीतियों को, 'अभिभावक हैं या नहीं' की ऊपरी इकाइयों की नीतियों के मुकाबले ज़्यादा अहमियत दी जा सकती है. blockInheritance सेटिंग, संगठन की इकाई और उसके उप-संगठन के लिए, इनहेरिटेंस को ब्लॉक करने की अनुमति देती है. blockInheritance के इस्तेमाल पर रोक लगा दी गई है. इसे `true` पर सेट करने की सुविधा अब काम नहीं करती. इससे अनचाहे नतीजे मिल सकते हैं. संगठन की संरचना में इनहेरिटेंस और उपयोगकर्ताओं के बारे में ज़्यादा जानने के लिए, एडमिन सहायता केंद्र पर जाएं.
  • संगठन की इकाई को हैरारकी ट्री में ऊपर या नीचे ले जाया जा सकता है. साथ ही, नए संगठन में अपने-आप जानकारी भरने या उपयोगकर्ताओं के किसी सबसेट को संगठन की एक इकाई से दूसरी इकाई में ले जाते समय, संगठन से जुड़े उपयोगकर्ताओं को अलग-अलग या बैच में भेजा जा सकता है.
  • संगठन की इकाई की प्रॉपर्टी में सेव किए जाने वाले डेटा में लगातार बदलाव हो सकता है. अनुरोध करते समय, इस बात की गारंटी दी जाती है कि इकाई की सभी प्रॉपर्टी एक जैसी रहेंगी.इसका मतलब है कि आपको "कुछ हद तक" अपडेट नहीं दिखेंगे. अगर डेटा पाने की कार्रवाई एक से ज़्यादा इकाई देती है, तो सभी इकाइयों के लिए एक जैसा होने की कोई गारंटी नहीं होती.ऐसा खास तौर पर तब होता है, जब किसी जवाब में शामिल होने की प्रक्रिया कई पेजों पर होती है.

संगठन की इकाई बनाना

संगठन की कोई इकाई बनाने के लिए, यहां दिए गए POST अनुरोध का इस्तेमाल करें. साथ ही, अनुमति देने के अनुरोध में दी गई अनुमति को शामिल करें.

अगर आप एडमिन हैं और संगठन की इकाई बना रहे हैं, तो my_customer का इस्तेमाल करें.

POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits

अगर आप रीसेलर हैं जो रीसेलर से खरीदने वाले ग्राहक के लिए संगठन की इकाई बना रहा है, तो customerId का इस्तेमाल करें. customerId को वापस पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें.

POST https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits

अपने खाते को व्यवस्थित करने के तरीके को समझने के लिए, एडमिन सहायता केंद्र पर जाएं. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई का रेफ़रंस देखें.

JSON अनुरोध

JSON रीसेलर के इस उदाहरण में, अनुरोध का एक मुख्य हिस्सा दिखाया गया है. यह, Salesforce_support संगठन की इकाई बनाता है. name और parentOrgUnitPath ज़रूरी हैं:

POST https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits
{
    "name": "sales_support",
    "description": "The sales support team",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

JSON का रिस्पॉन्स

सही जवाब देने पर एचटीटीपी 201 स्टेटस कोड दिखता है. स्टेटस कोड के साथ, रिस्पॉन्स नए ग्रुप के लिए प्रॉपर्टी दिखाता है:

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
  }

संगठन की इकाई को अपडेट करना

संगठन की किसी इकाई को अपडेट करने के लिए, यहां दिए गए PUT अनुरोध का इस्तेमाल करें. साथ ही, अनुमति देने के अनुरोध में दी गई अनुमति को शामिल करें. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई का रेफ़रंस देखें:

अगर आप एडमिन हैं, तो संगठन की इकाई को अपडेट करने के लिए, my_customer का इस्तेमाल करें.

 PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

अगर आप रीसेलर हैं, तो रीसेलर से खरीदने वाले ग्राहक के लिए संगठन की इकाई को अपडेट किया जा सकता है. इसके लिए, customerId का इस्तेमाल करें. customerId पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें.

PUT https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

JSON अनुरोध

नीचे दिए गए उदाहरण में, संगठन की इकाई की जानकारी को अपडेट कर दिया गया है:

PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/support/sales_support
{
    "description": "The BEST sales support team"
}

अपडेट के अनुरोध के लिए ज़रूरी जानकारी:

  • आपको अपने अनुरोध में, सिर्फ़ अपडेट की गई जानकारी सबमिट करनी होगी. आपको अनुरोध में, ग्रुप की सभी प्रॉपर्टी को डालने की ज़रूरत नहीं है.
  • अगर उपयोगकर्ता खाता बनाते समय, संगठन की किसी खास इकाई के लिए उपयोगकर्ता को असाइन नहीं किया गया था, तो इसका मतलब है कि वह संगठन की टॉप-लेवल की इकाई में है.
  • अनुरोध में parentOrgUnitPath प्रॉपर्टी सेट करके, संगठन की इकाई को अपने खाते के संगठन की संरचना के किसी दूसरे हिस्से में ले जाया जा सकता है. इस बात पर ध्यान दें कि संगठन की किसी इकाई को एक से दूसरी जगह पर ले जाने से, उन उपयोगकर्ताओं के लिए सेवाओं और सेटिंग में भी बदलाव हो सकता है जिन्हें संगठन की इकाई में ले जाया जा रहा है.

JSON का रिस्पॉन्स

सही जवाब देने पर एचटीटीपी 201 स्टेटस कोड दिखता है. स्टेटस कोड के साथ, रिस्पॉन्स, संगठन की अपडेट की गई इकाई के लिए प्रॉपर्टी दिखाता है.

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

अगर उपयोगकर्ता खाता बनाते समय, संगठन की किसी खास इकाई के लिए उपयोगकर्ता को असाइन नहीं किया गया था, तो इसका मतलब है कि वह संगठन की टॉप-लेवल की इकाई में है. उपयोगकर्ता के संगठन की इकाई से यह तय होता है कि उसके पास Google Workspace की किन सेवाओं का ऐक्सेस है. अगर उपयोगकर्ता को नए संगठन में ले जाया जाता है, तो उपयोगकर्ता का ऐक्सेस बदल जाता है. संगठन की संरचना के बारे में ज़्यादा जानकारी के लिए, एडमिन सहायता केंद्र पर जाएं. उपयोगकर्ता को किसी दूसरे संगठन में ले जाने के बारे में ज़्यादा जानकारी के लिए, उपयोगकर्ता को अपडेट करें देखें.

संगठन की इकाई को वापस लाना

किसी संगठन की इकाई को वापस पाने के लिए, यहां दिए गए GET अनुरोध का इस्तेमाल करें. साथ ही, अनुमति देने के अनुरोध में दी गई अनुमति को शामिल करें. orgUnitPath क्वेरी स्ट्रिंग, संगठन की इस इकाई का पूरा पाथ है. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई का रेफ़रंस देखें:

अगर आप एडमिन हैं, तो संगठन की किसी इकाई को ऐक्सेस करने के लिए, my_customer का इस्तेमाल करें.

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

अगर आप रीसेलर हैं, तो रीसेलर से खरीदे गए ग्राहक के लिए संगठन की इकाई को वापस पाया जा सकता है. ऐसा होने पर, customerId का इस्तेमाल करें. customerId पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें.

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

JSON का रिस्पॉन्स

नीचे दिए गए उदाहरण में, 'फ़्रंटलाइन सेल्स' संगठन की इकाई को वापस लाया गया है. अनुरोध के यूआरआई में, 'फ़्रंटलाइन+सेल्स' एचटीटीपी एन्कोडिंग पर ध्यान दें:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/sales/frontline+sales

सही जवाब एचटीटीपी 200 स्टेटस कोड दिखाता है. स्टेटस कोड के साथ, रिस्पॉन्स, संगठन की इकाई की सेटिंग दिखाता है:

{
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
}

संगठन की इकाइयों को वापस लाएं

संगठन की किसी इकाई में संगठन की सभी उप-इकाई को, संगठन की इकाई या सभी उप-संगठनों की इकाइयों के साथ-साथ संगठन की तय की गई इकाई को फिर से पाने के लिए, यहां दिए गए GET अनुरोध का इस्तेमाल करें. साथ ही, अनुमति देने के अनुरोध में बताई गई अनुमति को शामिल करें. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई का रेफ़रंस देखें.

अगर आप खाते के एडमिन हैं, तो संगठन की सभी उप-इकाई की इकाइयों को वापस पाने के लिए, my_customer का इस्तेमाल करें. आसानी से समझ में आने के लिए, इस उदाहरण में लाइन रिटर्न का इस्तेमाल किया गया है:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

अगर आप रीसेलर हैं, तो रीसेलर से खरीदे गए ग्राहक के लिए संगठन की इकाइयों की जानकारी हासिल की जा सकती है. इसके लिए, customerId का इस्तेमाल करें. customerId पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें:

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

get क्वेरी स्ट्रिंग, orgUnitPath के तहत all उप-संगठन की इकाइयां दिखाती है, orgUnitPath की children वैल्यू या सभी उप-संगठनों की इकाइयों को दिखाती है. इसके अलावा, all_including_parent के लिए बताए गए orgUnitPath भी दिखाती है. डिफ़ॉल्ट वैल्यू type=children है.

JSON का रिस्पॉन्स

उदाहरण के लिए, इस अनुरोध से संगठन की उन सभी इकाइयों की जानकारी मिलती है जो /corp से शुरू होती हैं:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits?orgUnitPath=/corp&type=all

सही जवाब एचटीटीपी 200 स्टेटस कोड दिखाता है. रिस्पॉन्स में, स्टेटस कोड के साथ खाते की संगठन की इकाइयां भी दिखती हैं:

{
"kind": "directory#orgUnits",
    "organizationUnits": [
     {
    "kind": "directory#orgUnit",
    "name": "sales",
    "description": "The corporate sales team",
    "orgUnitPath": "/corp/sales",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "support",
    "description": "The corporate support team",
    "orgUnitPath": "/corp/support",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
     }
  ]
  }

संगठन की किसी इकाई को मिटाना

किसी संगठन की इकाई को मिटाने के लिए, यहां दिए गए DELETE अनुरोध का इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देने के अनुरोध में दी गई अनुमति को शामिल करें. customerId को वापस पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई का रेफ़रंस देखें:

अगर आप खाते के एडमिन हैं और संगठन की किसी इकाई को मिटा रहे हैं, तो my_customer का इस्तेमाल करें.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

अगर आप रीसेलर हैं जो रीसेलर से खरीदने वाले ग्राहक की संगठन की इकाई को मिटा रहा है, तो customerId का इस्तेमाल करें. customerId पाने के लिए, उपयोगकर्ता को वापस लाएं कार्रवाई का इस्तेमाल करें.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
उदाहरण के लिए, इस रीसेलर एडमिन के DELETE अनुरोध से, संगठन की 'backend_tests' इकाई को मिटा दिया जाता है:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

सही जवाब एचटीटीपी 200 स्टेटस कोड दिखाता है.

संगठन की सिर्फ़ उन इकाइयों को मिटाया जा सकता है जिनमें संगठन की कोई उप-इकाई या कोई उपयोगकर्ता असाइन नहीं किया गया है. मिटाने से पहले आपको संगठन की अन्य इकाइयों के लिए उपयोगकर्ताओं को फिर से असाइन करना होगा. साथ ही, संगठन की सभी उप-इकाई को हटाना होगा.