واجهة برمجة التطبيقات للدليل: الوحدات التنظيمية

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

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

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

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

لإنشاء وحدة تنظيمية، استخدِم طلب 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",
    "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 التالي وأضِف التفويض الموضّح في تفويض الطلبات. بالنسبة إلى خصائص الطلب والاستجابة، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات:

إذا كنت مشرفًا تعدِّل وحدة تنظيمية، استخدِم 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 هي المسار الكامل لهذه الوحدة التنظيمية. بالنسبة إلى خصائص الطلب والاستجابة، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات:

إذا كنت مشرفًا تسترد وحدة تنظيمية، استخدِم 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 في عنوان 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 التالي وأدرِج التفويض الموضّح في تفويض الطلبات. بالنسبة إلى خصائص الطلب والاستجابة، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات.

إذا كنت مشرف حساب تسترجع جميع الوحدات التنظيمية الفرعية، استخدِم 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",
    "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

عند الاستجابة الناجحة، يتم عرض رمز الحالة HTTP 200.

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