Directory API: واحدهای سازمانی

واحدهای سازمانی را مدیریت کنید

درخت سازمانی حساب Google Workspace از واحدهای سازمانی تشکیل شده است که به شما امکان می دهد کاربران خود را در یک ساختار منطقی و سلسله مراتبی مدیریت کنید. این شبیه به عملکردی است که در برگه «سازمان‌ها و کاربران» کنسول مدیریت یافت می‌شود. سلسله مراتب واحد سازمانی مشتری به 35 سطح عمق محدود شده است. برای اطلاعات بیشتر، به مرکز راهنمایی Admin مراجعه کنید.

  • تنها یک درخت سازمانی در حساب Google Workspace وجود دارد. وقتی این حساب در ابتدا پیکربندی شد، دارای یک واحد سازمانی در سطح حساب است. این سازمان مرتبط با دامنه اولیه است. برای اطلاعات بیشتر در مورد دامنه اصلی، به اطلاعات محدودیت های API مراجعه کنید.
  • نام مسیر یک واحد سازمانی منحصر به فرد است. نام واحد سازمانی ممکن است در سلسله مراتب سازمان منحصر به فرد نباشد اما نام آن در بین واحدهای سازمانی خواهر و برادر منحصر به فرد است. و نام یک واحد سازمانی بدون حروف بزرگ و کوچک است.
  • یک واحد سازمانی خط مشی ها را از سلسله مراتب سازمانی به ارث می برد. هر واحد سازمانی می تواند با نادیده گرفتن خط مشی ارثی، این زنجیره ارث والدین را مسدود کند. تقدم یک سیاست بر سیاست دیگر توسط نزدیکترین واحد سازمانی تعیین می شود. به این معنی که سیاست های یک واحد سازمانی پایین تر می تواند بر سیاست های واحدهای بالاتر والدین اولویت داشته باشد. تنظیم 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

برای درک ساختار سازمانی حساب خود، به مرکز راهنمایی Admin مراجعه کنید. برای ویژگی‌های درخواست و پاسخ، به مرجع API مراجعه کنید.

درخواست JSON

مثال زیر فروشنده JSON یک بدنه درخواست نمونه را نشان می دهد که واحد سازمانی sales_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

یک پاسخ موفق یک کد وضعیت HTTP 201 را برمی گرداند. به همراه کد وضعیت، پاسخ ویژگی‌های گروه جدید را برمی‌گرداند:

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

به روز رسانی یک واحد سازمانی

برای به‌روزرسانی یک واحد سازمانی، از درخواست PUT زیر استفاده کنید و مجوز شرح داده شده در درخواست‌های مجوز را وارد کنید. برای خواص درخواست و پاسخ، به مرجع API مراجعه کنید:

اگر مدیر به‌روزرسانی یک واحد سازمانی هستید، از 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

یک پاسخ موفق یک کد وضعیت HTTP 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 مسیر کامل این واحد سازمانی است. برای خواص درخواست و پاسخ، به مرجع API مراجعه کنید:

اگر مدیری هستید که یک واحد سازمانی را بازیابی می کنید، از my_customer استفاده کنید.

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

اگر فروشنده ای هستید که یک واحد سازمانی را برای یک مشتری فروخته شده بازیابی می کند، از customerId استفاده کنید. برای بدست آوردن customerId از عملیات Retrieve a user استفاده کنید.

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

پاسخ JSON

در مثال زیر، واحد سازمانی «فروش خط مقدم» بازیابی شده است. به رمزگذاری HTTP «frontline+ sales» در URI درخواست توجه کنید:

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

یک پاسخ موفق یک کد وضعیت HTTP 200 را برمی گرداند. به همراه کد وضعیت، پاسخ تنظیمات واحد سازمانی را برمی‌گرداند:

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

بازیابی واحدهای سازمانی

برای بازیابی همه واحدهای زیر سازمانی تحت یک واحد سازمانی، فرزندان مستقیم زیر یک واحد سازمانی، یا همه واحدهای زیر سازمانی به اضافه واحد سازمانی مشخص شده، از درخواست GET زیر استفاده کنید و مجوز شرح داده شده در درخواست‌های مجوز را درج کنید. برای خواص درخواست و پاسخ، به مرجع API مراجعه کنید.

اگر مدیر حسابی هستید که همه واحدهای زیر سازمانی را بازیابی می کنید، از 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 از عملیات Retrieve a user استفاده کنید:

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 یا all واحدهای زیر سازمانی را تحت orgUnitPath ، children مستقیم orgUnitPath ، یا همه واحدهای زیر سازمانی و orgUnitPath مشخص شده را برای all_including_parent برمی گرداند. پیش فرض type=children است.

پاسخ JSON

برای مثال، این درخواست همه واحدهای سازمانی را که از واحد سازمانی /corp شروع می‌شوند، برمی‌گرداند:

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

یک پاسخ موفق یک کد وضعیت HTTP 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 ، از عملیات بازیابی کاربر استفاده کنید. برای خواص درخواست و پاسخ، به مرجع API مراجعه کنید:

اگر مدیر حسابی هستید که یک واحد سازمانی را حذف می کنید، از my_customer استفاده کنید.

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

اگر فروشنده ای هستید که یک واحد سازمانی را برای یک مشتری فروخته شده حذف می کند، از customerId استفاده کنید. برای دریافت customerId از عملیات Retrieve a user استفاده کنید.

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

یک پاسخ موفق یک کد وضعیت HTTP 200 را برمی گرداند.

شما فقط می توانید واحدهای سازمانی را حذف کنید که هیچ واحد سازمانی فرزند یا کاربر اختصاص داده شده به آنها ندارند. قبل از حذف، باید کاربران را به واحدهای سازمانی دیگر اختصاص دهید و هر واحد سازمانی کودک را حذف کنید.