Directory API: jednostki organizacyjne

Zarządzanie jednostkami organizacyjnymi

Drzewo organizacyjne konta Google Workspace składa się z jednostek organizacyjnych, które umożliwiają zarządzanie użytkownikami w logicznej i hierarchicznej strukturze. Działa to podobnie jak funkcja na karcie „Organizacje i użytkownicy” w konsoli administracyjnej Google. Hierarchia jednostek organizacyjnych klienta jest ograniczona do 35 poziomów. Więcej informacji znajdziesz w Centrum pomocy dla administratorów.

  • Do konta Google Workspace przypisane jest tylko 1 drzewo organizacji. Gdy to konto jest konfigurowane po raz pierwszy, ma jednostkę organizacyjną na poziomie konta. Jest to organizacja powiązana z domeną podstawową. Więcej informacji o domenie podstawowej znajdziesz w informacjach o limitach interfejsu API.
  • Ścieżka dostępu do jednostki organizacyjnej jest unikalna. Nazwa jednostki organizacyjnej nie musi być unikalna w hierarchii organizacji, ale musi być unikalna wśród jednostek organizacyjnych tego samego poziomu. W nazwie jednostki organizacyjnej nie jest rozróżniana wielkość liter.
  • Jednostka organizacyjna dziedziczy zasady z hierarchii organizacyjnej. Każda jednostka organizacyjna może zablokować ten łańcuch dziedziczenia przez zastąpienie odziedziczonych zasad. Pierwszeństwo jednej zasady przed drugą jest określane przez najbliższą jednostkę organizacyjną. Oznacza to, że zasady jednostki organizacyjnej niższego poziomu mogą mieć pierwszeństwo przed zasadami jednostek nadrzędnych wyższego poziomu. Więcej informacji o dziedziczeniu i użytkownikach w strukturze organizacji znajdziesz w Centrum pomocy dla administratorów.
  • Jednostkę organizacyjną można przenieść w górę lub w dół drzewa hierarchicznego. Powiązanych użytkowników organizacji można przenosić pojedynczo lub zbiorczo podczas wypełniania nowej organizacji lub przenoszenia podzbioru użytkowników z jednej jednostki organizacyjnej do drugiej.
  • Dane przechowywane we właściwościach jednostki organizacyjnej mogą się stale zmieniać. W przypadku żądania właściwości zwracane dla elementu są spójne w momencie pobrania elementu.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.Dotyczy to zwłaszcza sytuacji, gdy odpowiedź obejmuje wiele stron w paginacji.

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 tworzącym 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, któremu sprzedajesz usługi, użyj znaku customerId. Aby pobrać wartość customerId, użyj operacji Pobierz użytkownika.

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

Aby dowiedzieć się więcej o strukturze organizacji konta, odwiedź Centrum pomocy dla administratorów. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji API.

Żądanie JSON

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

Odpowiedź JSON

Pomyślna odpowiedź zwraca kod stanu HTTP 201. Oprócz kodu 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"
  }

Aktualizowanie jednostki organizacyjnej

Aby zaktualizować jednostkę organizacyjną, użyj poniższego żądania PUT i dołącz autoryzację opisaną w sekcji Autoryzowanie żądań. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji API:

Jeśli jesteś administratorem i aktualizujesz 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ą klienta, któremu sprzedajesz usługi, użyj customerId. Aby uzyskać wartość 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 zaktualizowano opis jednostki organizacyjnej:

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 prośbie wystarczy przesłać zaktualizowane informacje. Nie musisz podawać w prośbie wszystkich właściwości grupy.
  • Jeśli podczas tworzenia konta użytkownik nie został przypisany do konkretnej jednostki organizacyjnej, konto znajduje się w jednostce organizacyjnej najwyższego poziomu.
  • Możesz przenieść jednostkę organizacyjną do innej części struktury organizacji na koncie, ustawiając w prośbie właściwość parentOrgUnitPath. Pamiętaj, że przeniesienie jednostki organizacyjnej może zmienić usługi i ustawienia użytkowników w przenoszonej jednostce organizacyjnej.

Odpowiedź JSON

Pomyślna odpowiedź zwraca kod stanu HTTP 201. Oprócz kodu stanu odpowiedź zawiera 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"
}

Jeśli podczas tworzenia konta użytkownik nie został przypisany do konkretnej 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 dostęp ulegnie zmianie. Więcej informacji o strukturach organizacji znajdziesz w Centrum pomocy dla administratorów. 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 sekcji Autoryzowanie żądań. Ciąg zapytania orgUnitPath to pełna ścieżka tej jednostki organizacyjnej. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji API:

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

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

Jeśli jesteś sprzedawcą, który pobiera jednostkę organizacyjną dla klienta, któremu sprzedał usługę, użyj customerId. Aby uzyskać wartość 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 „frontline sales”. Zwróć uwagę na kodowanie HTTP „frontline+sales” w URI żądania:

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

Prawidłowa odpowiedź zwraca kod stanu HTTP 200. Oprócz kodu stanu odpowiedź zawiera ustawienia jednostki organizacyjnej:

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

Pobieranie jednostek organizacyjnych

Aby pobrać wszystkie podrzędne jednostki organizacyjne w jednostce organizacyjnej, bezpośrednie podrzędne jednostki organizacyjne w jednostce organizacyjnej lub wszystkie podrzędne jednostki organizacyjne wraz z określoną jednostką organizacyjną, użyj poniższego żądania GET i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji API.

Jeśli jesteś administratorem konta i pobierasz wszystkie podrzędne jednostki organizacyjne, użyj my_customer. Aby ułatwić czytanie, w tym przykładzie użyto znaków łamania wierszy:

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ą pobierającym jednostki organizacyjne dla klienta, któremu sprzedajesz usługi, 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 all jednostki organizacyjne podrzędne w ramach orgUnitPath, bezpośrednie children elementu orgUnitPath lub wszystkie jednostki organizacyjne podrzędne i określony element orgUnitPath dla all_including_parent. Wartość domyślna to type=children.

Odpowiedź JSON

Na przykład ta prośba zwraca wszystkie jednostki organizacyjne zaczynające się od jednostki organizacyjnej /corp:

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

Prawidłowa 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"
     },
     {
    "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"
     }
  ]
  }

Usuwanie jednostki organizacyjnej

Aby usunąć jednostkę organizacyjną, użyj poniższego żądania DELETE i dołącz autoryzację opisaną w artykule Autoryzowanie żądań. Aby pobrać wartość customerId, użyj operacji Pobierz użytkownika. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji API:

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

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

Jeśli jesteś sprzedawcą i usuwasz jednostkę organizacyjną klienta, któremu sprzedajesz usługi, użyj ikony customerId. Aby uzyskać wartość customerId, użyj operacji Pobierz użytkownika.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Na przykład to żądanie administratora odsprzedawcy DELETE usuwa jednostkę organizacyjną „backend_tests”:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Prawidłowa odpowiedź zwraca kod stanu HTTP 200.

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