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

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

يتكون الهيكل التنظيمي لحساب Google Workspace من وحدات تنظيمية تتيح لك إدارة المستخدمين في بنية منطقية وهرمية. وهذا يشبه الوظيفة المتوفّرة في علامة التبويب "المؤسسات والمستخدمون" في "وحدة تحكّم المشرف" من Google. يقتصر العرض الهرمي للوحدة التنظيمية للعميل على 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. يجب استيفاء المتطلبات التالية:nameparentOrgUnitPath

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.

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