Directory API: jednostki organizacyjne

Zarządzaj jednostkami organizacyjnymi

Drzewo organizacyjne konta Google Workspace składa się z jednostek organizacyjnych, które pozwalają zarządzać użytkownikami w logicznej i hierarchicznej strukturze. Jest to funkcja podobna do tej, która jest dostępna na karcie „Organizacje i użytkownicy” w konsoli administracyjnej. Hierarchia jednostek organizacyjnych klienta jest ograniczona do 35 poziomów. Więcej informacji znajdziesz w Centrum pomocy dla administratorów.

  • Konto Google Workspace ma tylko 1 drzewo organizacyjne. Gdy to konto jest skonfigurowane początkowo, zawiera ono jednostkę organizacyjną na poziomie konta. To organizacja powiązana z domeną podstawową. Więcej informacji o domenie podstawowej znajdziesz w artykule Informacje o limitach interfejsów API.
  • Nazwa ścieżki jednostki organizacyjnej jest niepowtarzalna. Nazwa jednostki organizacyjnej może nie być niepowtarzalna w obrębie hierarchii organizacyjnej, ale jej nazwa jest niepowtarzalna wśród jednostek równorzędnych. Wielkość liter w nazwie jednostki organizacyjnej nie jest rozróżniana.
  • Jednostka organizacyjna dziedziczy zasady z hierarchii organizacyjnej. Każda jednostka organizacyjna może zablokować ten łańcuch dziedziczenia nadrzędnego, zastępując odziedziczoną zasadę. Pierwszeństwo jednej zasady nad inną jest określane przez najbliższą jednostkę organizacyjną. Oznacza to, że zasady podrzędnych jednostek organizacyjnych mogą mieć pierwszeństwo przed zasadami nadrzędnych jednostek organizacyjnych. Ustawienie blockInheritance umożliwia blokowanie dziedziczenia ustawień do jednostki organizacyjnej i jej organizacji podrzędnej. Interfejs blockInheritance został wycofany. Ustawienie wartości „true” (prawda) nie jest już obsługiwane i może mieć niezamierzone konsekwencje. Więcej informacji o dziedziczeniu i użytkownikach w strukturze organizacyjnej znajdziesz w Centrum pomocy dotyczącym administrowania.
  • Jednostkę organizacyjną można przenieść w górę lub w dół w hierarchii. Powiązanych użytkowników z organizacji można też przenosić pojedynczo lub zbiorczo podczas wypełniania nowej organizacji bądź przenoszenia podzbioru użytkowników z jednej jednostki organizacyjnej do innej.
  • Dane przechowywane w usługach jednostek organizacyjnych mogą się stale zmieniać. Podczas wysyłania żądania właściwości zwracane dla encji są gwarantowane w momencie jej pobrania.Oznacza to, że nie zobaczysz „częściowych” aktualizacji. Jeśli operacja pobierania zwraca więcej niż 1 element, nie ma gwarancji spójności między elementami.Dzieje się tak szczególnie wtedy, gdy odpowiedź obejmuje kilka stron na strony.

Tworzenie jednostki organizacyjnej

Aby utworzyć jednostkę organizacyjną, użyj poniższego żądania POST i dołącz autoryzację opisaną w artykule Autoryzowanie żądań.

Jeśli jesteś administratorem i tworzysz jednostkę organizacyjną, użyj my_customer.

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

Jeśli jesteś sprzedawcą i tworzysz jednostkę organizacyjną dla klienta sprzedawcy, użyj customerId. Aby pobrać customerId, użyj operacji Pobierz użytkownika.

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

Informacje o strukturze organizacyjnej konta znajdziesz w Centrum pomocy dla administratorów. Właściwości żądań i odpowiedzi znajdziesz w dokumentacji interfejsu API.

Żądanie JSON

Poniższy przykład sprzedawcy JSON przedstawia przykładową treść żądania, która tworzy jednostkę organizacyjną sales_support. Wymagane pola name i 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
}

Odpowiedź JSON

Pomyślna odpowiedź zwraca kod stanu HTTP 201. Wraz z kodem stanu odpowiedź zwraca właściwości nowej grupy:

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

Aktualizowanie jednostki organizacyjnej

Aby zaktualizować jednostkę organizacyjną, użyj następującego żądania PUT i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API:

Jeśli jesteś administratorem aktualizującym jednostkę organizacyjną, użyj my_customer.

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

Jeśli jesteś sprzedawcą i aktualizujesz jednostkę organizacyjną dla klienta, użyj customerId. Aby uzyskać customerId, użyj operacji Pobierz użytkownika.

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

Żądanie JSON

W przykładzie poniżej opis jednostki organizacyjnej został zaktualizowany:

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

Uwagi dotyczące prośby o aktualizację:

  • W swoim wniosku musisz przesłać tylko zaktualizowane informacje. W żądaniu nie musisz podawać wszystkich właściwości grupy.
  • Jeśli podczas tworzenia konta użytkownika nie był przypisany do określonej jednostki organizacyjnej, konto znajduje się w jednostce organizacyjnej najwyższego poziomu.
  • Możesz przenieść jednostkę organizacyjną do innej części struktury organizacyjnej swojego konta, ustawiając w prośbie właściwość parentOrgUnitPath. Pamiętaj, że przeniesienie jednostki organizacyjnej może spowodować zmianę usług i ustawień użytkowników z tej jednostki.

Odpowiedź JSON

Pomyślna odpowiedź zwraca kod stanu HTTP 201. Wraz z kodem stanu odpowiedź zwraca też właściwości zaktualizowanej jednostki organizacyjnej.

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

Jeśli podczas tworzenia konta użytkownika nie był przypisany do określonej jednostki organizacyjnej, konto znajduje się w jednostce organizacyjnej najwyższego poziomu. Jednostka organizacyjna użytkownika określa, do których usług Google Workspace ma on dostęp. Jeśli użytkownik zostanie przeniesiony do nowej organizacji, jego uprawnienia dostępu się zmienią. Więcej informacji o strukturach organizacyjnych znajdziesz w Centrum pomocy dotyczącym administrowania. Więcej informacji o przenoszeniu użytkownika do innej organizacji znajdziesz w artykule Aktualizowanie użytkownika.

Pobieranie jednostki organizacyjnej

Aby pobrać jednostkę organizacyjną, użyj poniższego żądania GET i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Ciąg zapytania orgUnitPath to pełna ścieżka tej jednostki organizacyjnej. Właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API:

Jeśli jesteś administratorem i pobierasz jednostkę organizacyjną, użyj polecenia my_customer.

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

Jeśli jesteś sprzedawcą i pobierasz jednostkę organizacyjną dla klienta sprzedawcy, użyj customerId. Aby uzyskać customerId, użyj operacji Pobierz użytkownika.

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

Odpowiedź JSON

W przykładzie poniżej pobierana jest jednostka organizacyjna „Sprzedaż pierwszej linii”. Zwróć uwagę na kodowanie HTTP „frontline+sales” (sprzedaż) w identyfikatorze URI żądania:

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

Pomyślna odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zwraca ustawienia jednostki organizacyjnej:

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

Pobieranie jednostek organizacyjnych

Aby pobrać wszystkie podrzędne jednostki organizacyjne należące do jednostki organizacyjnej, podrzędne jednostki organizacyjne należące do jednostki organizacyjnej lub wszystkie jej jednostki podrzędne i wybraną jednostkę organizacyjną, należy użyć poniższego żądania GET i dołączyć autoryzację opisaną w artykule Autoryzacja żądań. Właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API (w języku angielskim).

Jeśli jesteś administratorem konta i pobierasz wszystkie podrzędne jednostki organizacyjne, użyj funkcji my_customer. Aby zwiększyć czytelność, w tym przykładzie użyto funkcji zwracania wiersza:

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

Jeśli jesteś sprzedawcą i pobierasz jednostki organizacyjne klienta sprzedawcy, użyj customerId. Aby uzyskać customerId, użyj operacji Pobierz użytkownika:

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

Ciąg zapytania get zwraca podrzędne jednostki organizacyjne (all) w ramach jednostki orgUnitPath, bezpośredni children jednostki organizacyjnej orgUnitPath lub wszystkie podrzędne jednostki organizacyjne i wskazaną wartość orgUnitPath w polu all_including_parent. Wartość domyślna to type=children.

Odpowiedź JSON

Na przykład to żądanie zwraca wszystkie jednostki organizacyjne, zaczynając od jednostki organizacyjnej /corp:

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

Pomyślna odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zawiera jednostki organizacyjne konta:

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

Usuwanie jednostki organizacyjnej

Aby usunąć jednostkę organizacyjną, użyj następującego żądania DELETE i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Aby pobrać customerId, użyj operacji Pobierz użytkownika. Właściwości żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API:

Jeśli jesteś administratorem konta i usuwasz jednostkę organizacyjną, użyj domeny my_customer.

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

Jeśli jesteś sprzedawcą i usuwasz jednostkę organizacyjną swojego klienta, użyj customerId. Aby uzyskać customerId, użyj operacji Pobierz użytkownika.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Na przykład żądanie DELETE tego administratora sprzedawcy powoduje usunięcie jednostki organizacyjnej „backend_tests”:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Pomyślna odpowiedź zwraca kod stanu HTTP 200.

Możesz usuwać tylko jednostki organizacyjne, które nie mają przypisanych żadnych podrzędnych jednostek organizacyjnych ani przypisanych do nich użytkowników. Przed usunięciem musisz przypisać użytkowników do innych jednostek organizacyjnych i usunąć wszystkie podrzędne jednostki organizacyjne.