Directory API: Organisationseinheiten

Organisationseinheiten verwalten

Die Organisationsstruktur eines Google Workspace-Kontos besteht aus Organisationseinheiten, mit denen Sie Ihre Nutzer in einer logischen und hierarchischen Struktur verwalten können. Diese Funktion ähnelt der Funktion auf dem Tab "Organisationen und Nutzer" in der Admin-Konsole. Die Hierarchie der Organisationseinheit des Kunden ist auf 35 Ebenen beschränkt. Weitere Informationen finden Sie in der Admin-Hilfe.

  • Für ein Google Workspace-Konto gibt es nur einen Organisationsstrukturbaum. Bei der Erstkonfiguration dieses Kontos ist eine Organisationseinheit auf Kontoebene vorhanden. Das ist die Organisation, die mit der primären Domain verknüpft ist. Weitere Informationen zur primären Domain finden Sie in den Informationen zu API-Limits.
  • Der Pfadname einer Organisationseinheit ist eindeutig. Der Name der Organisationseinheit muss innerhalb der Organisationshierarchie nicht eindeutig sein, aber er muss unter den zugehörigen Organisationseinheiten eindeutig sein. Bei dem Namen einer Organisationseinheit wird die Groß-/Kleinschreibung nicht berücksichtigt.
  • Eine Organisationseinheit übernimmt Richtlinien aus der Organisationshierarchie. Jede Organisationseinheit kann diese Kette der übergeordneten Übernahme blockieren, indem sie die übernommene Richtlinie überschreibt. Der Vorrang einer Richtlinie gegenüber einer anderen wird von der nächstgelegenen Organisationseinheit bestimmt. Das bedeutet, dass die Richtlinien einer untergeordneten Organisationseinheit Vorrang vor den Richtlinien der übergeordneten Organisationseinheiten haben können. Weitere Informationen zu Überschreibungen und Nutzern in einer Organisationsstruktur finden Sie in der Verwaltungshilfe.
  • Eine Organisationseinheit kann in einer hierarchischen Struktur nach oben oder unten verschoben werden. Die zugehörigen Nutzer der Organisation können einzeln oder im Batch verschoben werden, wenn Sie eine neue Organisation anlegen oder einen Teil der Nutzer von einer Organisationseinheit in eine andere verschieben.
  • Die Daten in den Eigenschaften der Organisationseinheit können sich ständig ändern. Wenn Sie eine Anfrage stellen, sind die für eine Entität zurückgegebenen Properties zum Zeitpunkt des Abrufens der Entität garantiert konsistent.Das heißt, es werden keine teilweisen Aktualisierungen angezeigt. Wenn ein Abrufvorgang mehr als eine Entität zurückgibt, kann nicht garantiert werden, dass die Entitäten konsistent sind.Das gilt insbesondere, wenn eine Antwort mehrere Seiten umfasst.

Organisationseinheit erstellen

Wenn Sie eine Organisationseinheit erstellen möchten, verwenden Sie die folgende POST-Anfrage und fügen Sie die in Anfragen autorisieren beschriebene Autorisierung ein.

Wenn Sie als Administrator eine Organisationseinheit erstellen, verwenden Sie my_customer.

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

Wenn Sie als Reseller eine Organisationseinheit für einen Resellerkunden erstellen, verwenden Sie customerId. Verwende die Aktion Retrieve a user (Nutzer abrufen), um die customerId abzurufen.

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

Weitere Informationen zur Organisationsstruktur Ihres Kontos finden Sie in der Admin-Hilfe. Informationen zu Anfrage- und Antworteigenschaften finden Sie in der API-Referenz.

JSON-Anfrage

Das folgende JSON-Reseller-Beispiel zeigt einen Beispielanfragetext, mit dem die Organisationseinheit „sales_support“ erstellt wird. name und parentOrgUnitPath sind erforderlich:

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

JSON-Antwort

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 201 zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Eigenschaften für die neue Gruppe zurückgegeben:

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

Organisationseinheit aktualisieren

Wenn Sie eine Organisationseinheit aktualisieren möchten, verwenden Sie die folgende PUT-Anfrage und fügen Sie die in Anfragen autorisieren beschriebene Autorisierung ein. Informationen zu den Anfrage- und Antworteigenschaften finden Sie in der API-Referenz:

Wenn Sie eine Organisationseinheit aktualisieren, verwenden Sie my_customer.

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

Wenn Sie als Reseller eine Organisationseinheit für einen Resellerkunden aktualisieren, verwenden Sie customerId. Um die customerId abzurufen, verwende die Aktion Retrieve a user (Nutzer abrufen).

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

JSON-Anfrage

Im folgenden Beispiel wurde die Beschreibung der Organisationseinheit aktualisiert:

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

Hinweise für eine Aktualisierungsanfrage:

  • Sie müssen lediglich die aktualisierten Informationen in Ihrem Antrag einreichen. Sie müssen nicht alle Eigenschaften der Gruppe in die Anfrage eingeben.
  • Wenn einem Nutzer beim Erstellen des Nutzerkontos keine bestimmte Organisationseinheit zugewiesen wurde, befindet sich das Konto in der übergeordneten Organisationseinheit.
  • Sie können eine Organisationseinheit in einen anderen Teil der Organisationsstruktur Ihres Kontos verschieben, indem Sie in der Anfrage das Attribut parentOrgUnitPath festlegen. Beachten Sie, dass sich durch das Verschieben einer Organisationseinheit auch die Dienste und Einstellungen für die Nutzer in der zu verschiebenden Organisationseinheit ändern.

JSON-Antwort

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 201 zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Eigenschaften der aktualisierten Organisationseinheit zurückgegeben.

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

Wenn ein Nutzer bei der Erstellung des Nutzerkontos keiner bestimmten Organisationseinheit zugewiesen wurde, befindet sich das Konto in der obersten Organisationseinheit. Die Organisationseinheit eines Nutzers bestimmt, auf welche Google Workspace-Dienste der Nutzer Zugriff hat. Wenn der Nutzer zu einer neuen Organisation verschoben wird, ändert sich sein Zugriff. Weitere Informationen zu Organisationsstrukturen finden Sie in der Verwaltungshilfe. Weitere Informationen zum Verschieben eines Nutzers in eine andere Organisation finden Sie unter Nutzer aktualisieren.

Organisationseinheit abrufen

Um eine Organisationseinheit abzurufen, verwenden Sie die folgende GET-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung ein. Der orgUnitPath-Suchstring ist der vollständige Pfad zu dieser Organisationseinheit. In der API-Referenz finden Sie Informationen zu den Anfrage- und Antwortattributen:

Wenn Sie ein Administrator sind und eine Organisationseinheit abrufen, verwenden Sie my_customer.

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

Wenn Sie als Reseller eine Organisationseinheit für einen Kunden eines Resellers abrufen, verwenden Sie die customerId. Verwenden Sie zum Abrufen des customerId den Vorgang Nutzer abrufen.

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

JSON-Antwort

Im folgenden Beispiel wird die Organisationseinheit „Frontline Sales“ abgerufen. Beachten Sie die HTTP-Codierung „frontline+sales“ im URI der Anfrage:

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

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Einstellungen der Organisationseinheit zurückgegeben:

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

Organisationseinheiten abrufen

Wenn Sie alle untergeordneten Organisationseinheiten einer Organisationseinheit, die unmittelbaren untergeordneten Einheiten einer Organisationseinheit oder alle untergeordneten Organisationseinheiten sowie die angegebene Organisationseinheit abrufen möchten, verwenden Sie die folgende GET-Anfrage und fügen Sie die in Anfragen autorisieren beschriebene Autorisierung ein. Informationen zu den Anfrage- und Antworteigenschaften finden Sie in der API-Referenz.

Wenn Sie als Kontoadministrator alle untergeordneten Organisationseinheiten abrufen möchten, verwenden Sie my_customer. Zur besseren Lesbarkeit enthält dieses Beispiel Zeilenumbrüche:

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

Wenn Sie als Reseller Organisationseinheiten für einen Resellerkunden abrufen, verwenden Sie die customerId. Um customerId abzurufen, verwende die Aktion Nutzer abrufen:

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

Der get-Suchstring gibt entweder all untergeordnete Organisationseinheiten unter der orgUnitPath, die unmittelbare children der orgUnitPath oder alle untergeordneten Organisationseinheiten und die angegebene orgUnitPath für all_including_parent zurück. Der Standardwert ist type=children.

JSON-Antwort

Mit dieser Anfrage werden beispielsweise alle Organisationseinheiten ab der Organisationseinheit /corp zurückgegeben:

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

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Organisationseinheiten des Kontos zurückgegeben:

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

Organisationseinheit löschen

Wenn Sie eine Organisationseinheit löschen möchten, verwenden Sie die folgende DELETE-Anfrage und fügen Sie die in Anfragen autorisieren beschriebene Autorisierung ein. Verwende die Aktion Retrieve a user (Nutzer abrufen), um die customerId abzurufen. In der API-Referenz finden Sie Informationen zu den Anfrage- und Antwortattributen:

Wenn Sie als Kontoadministrator eine Organisationseinheit löschen, verwenden Sie my_customer.

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

Wenn Sie als Reseller eine Organisationseinheit für einen Resellerkunden löschen, verwenden Sie die customerId. Du kannst die customerId mit der Aktion Retrieve a user (Nutzer abrufen) abrufen.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Mit der DELETE-Anfrage dieses Reseller-Administrators wird beispielsweise die Organisationseinheit „backend_tests“ gelöscht:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben.

Sie können nur Organisationseinheiten löschen, denen keine untergeordneten Organisationseinheiten oder Nutzer zugewiesen sind. Sie müssen Nutzer anderen Organisationseinheiten zuweisen und alle untergeordneten Organisationseinheiten entfernen, bevor Sie sie löschen.