Directory API: الوحدات التنظيمية

إدارة الوحدات التنظيمية

يتكون الهيكل التنظيمي لحساب Google Workspace من وحدات تنظيمية تتيح لك إدارة المستخدمين في بنية منطقية هرمية. يشبه ذلك الوظيفة المتوفّرة في علامة التبويب "المؤسسات والمستخدمون" ضمن "وحدة تحكّم المشرف". يقتصر العرض الهرمي للوحدة التنظيمية للعميل على 35 مستوى. لمزيد من المعلومات، يُرجى الاطّلاع على مركز مساعدة المشرف.

  • تتوفّر شجرة تنظيمية واحدة فقط لحساب Google Workspace. عند ضبط إعدادات هذا الحساب في البداية، يكون لديه وحدة تنظيمية على مستوى الحساب. هذه هي المؤسسة المرتبطة بالنطاق الأساسي. لمزيد من المعلومات عن النطاق الأساسي، يُرجى الاطّلاع على معلومات حدود واجهة برمجة التطبيقات.
  • يكون مسار الوحدة التنظيمية فريدًا. قد لا يكون اسم الوحدة التنظيمية فريدًا ضمن التسلسل الهرمي للمؤسسة، ولكنّه فريد بين الوحدات التنظيمية الشقيقة. ولا يُراعي اسم الوحدة التنظيمية حالة الأحرف.
  • تكتسب الوحدة التنظيمية السياسات من التسلسل الهرمي التنظيمي. يمكن لأي وحدة تنظيمية حظر سلسلة اكتساب السياسات من الوحدات الرئيسية من خلال إلغاء السياسة المُكتسَبة. يتم تحديد أولوية سياسة على أخرى من خلال الوحدة التنظيمية الأقرب. وهذا يعني أنّ سياسات الوحدة التنظيمية ذات المستوى الأدنى يمكن أن تكون لها الأولوية على سياسات الوحدات التنظيمية الرئيسية ذات المستوى الأعلى. لمزيد من المعلومات عن اكتساب الأذونات والمستخدمين في بنية المؤسسة، يُرجى الاطّلاع على مركز مساعدة الإدارة.
  • يمكن نقل وحدة تنظيمية للأعلى أو للأسفل في شجرة هرمية. ويمكن نقل المستخدمين المرتبطين بالمؤسسة بشكل فردي أو مجمّع عند تعبئة مؤسسة جديدة أو نقل مجموعة فرعية من المستخدمين من وحدة تنظيمية إلى أخرى.
  • يمكن أن تتغيّر البيانات المحفوظة في سمات الوحدة التنظيمية باستمرار. عند تقديم طلب، نضمن لك أنّ الخصائص التي يتم عرضها للعنصر ستكون متسقة في وقت استرجاع العنصر، أي أنّه لن تظهر لك تعديلات "جزئية". إذا كانت عملية الاسترجاع تُرجع أكثر من عنصر واحد، لا يمكن ضمان الاتساق بين العناصر.وينطبق ذلك بشكل خاص عندما يشمل الردّ صفحات متعددة في تقسيم الصفحات.

إنشاء وحدة تنظيمية

لإنشاء وحدة تنظيمية، استخدِم طلب 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 نموذجًا لنص الطلب الذي ينشئ الوحدة التنظيمية 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",
}

استجابة JSON

تعرِض الاستجابة الناجحة رمز حالة HTTP 201. وإلى جانب رمز الحالة، تعرض الاستجابة سمات المجموعة الجديدة:

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

تعديل وحدة تنظيمية

لتعديل وحدة تنظيمية، استخدِم طلب 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

تعرِض الاستجابة الناجحة رمز حالة HTTP 201. وإلى جانب رمز الحالة، تعرض الاستجابة سمات الوحدة التنظيمية المعدَّلة.

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

إذا لم يتم تعيين مستخدم إلى وحدة تنظيمية معيّنة عند إنشاء حساب المستخدم، سيكون الحساب في الوحدة التنظيمية ذات المستوى الأعلى. تحدِّد الوحدة التنظيمية للمستخدم خدمات 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

في المثال أدناه، يتم استرداد الوحدة التنظيمية "مبيعات خطوط المواجهة". يُرجى ملاحظة ترميز HTTP‏ "frontline+sales" في معرّف الموارد المنتظم للطلب:

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"
}

استرداد الوحدات التنظيمية

لاسترداد جميع الوحدات التنظيمية الفرعية ضمن وحدة تنظيمية، أو الوحدات الفرعية المباشرة ضمن وحدة تنظيمية، أو جميع الوحدات التنظيمية الفرعية بالإضافة إلى الوحدة التنظيمية المحدّدة، استخدِم طلب 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 إمّا 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"
     },
     {
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales"
     },
     {
    "kind": "directory#orgUnit",
    "name": "support",
    "description": "The corporate support team",
    "orgUnitPath": "/corp/support",
    "parentOrgUnitPath": "/corp"
     },
     {
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support"
     }
  ]
  }

حذف وحدة تنظيمية

لحذف وحدة تنظيمية، استخدِم طلب 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

يعرض الطلب الناجح رمز الحالة HTTP 200.

يمكنك فقط حذف الوحدات التنظيمية التي لا تحتوي على أي وحدات تنظيمية فرعية أو أي مستخدمين تم إسنادهم إليها. عليك إعادة تعيين المستخدمين إلى وحدات تنظيمية أخرى وإزالة أي وحدات تنظيمية فرعية قبل حذفها.