Directory API: jednostki organizacyjne

Zarządzaj jednostkami organizacyjnymi

Drzewo organizacyjne konta Google Workspace składa się z jednostek organizacyjnych umożliwiających zarządzanie użytkownikami w ramach logicznej i hierarchicznej struktury. Działa ona podobnie do funkcji dostępnych w sekcji „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.

  • Na koncie Google Workspace jest tylko 1 drzewo organizacyjne. Gdy to konto jest wstępnie skonfigurowane, na jego poziomie znajduje się jednostka organizacyjna. Jest 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 unikalna. Nazwa jednostki organizacyjnej może nie być niepowtarzalna w obrębie hierarchii organizacyjnej, ale jej nazwa jest niepowtarzalna w stosunku do jej potomnych jednostek organizacyjnych. Wielkość liter w nazwie jednostki organizacyjnej nie jest rozróżniana.
  • Jednostka organizacyjna dziedziczy zasady z hierarchii organizacyjnej. Dowolna organizacja jednostka 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 jednostki organizacyjnej niższego poziomu mogą mieć pierwszeństwo przed zasadami dla większej liczby jednostek rodzicielskich. Ustawienie blockInheritance umożliwia dziedziczenie ustawień blokowania na: jednostkę organizacyjną i jej organizację podrzędną. Interfejs blockInheritance został wycofany. Ustawienie wartości „true” (prawda) nie jest już obsługiwane i może mieć niezamierzone konsekwencje. Dla: więcej informacji o dziedziczeniu i użytkownikach w strukturze organizacyjnej 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 z organizacji można przenosić pojedynczo lub zbiorczo podczas wypełniania nowej organizacji albo przenoszenia podzbioru użytkowników z jednej jednostki organizacyjnej do drugiej.
  • Dane przechowywane we właściwościach jednostki organizacyjnej mogą się stale zmieniać. Gdy przesyłasz żądanie, właściwości zwracane dla elementu muszą być spójne w momencie jego pobrania. Oznacza to, że nie zobaczysz wartości „częściowe”. aktualizacje. Jeśli operacja pobierania zwraca więcej niż 1 element, nie ma gwarancji spójności między elementami.Dzieje się tak zwłaszcza wtedy, gdy odpowiedź obejmuje wiele stron w podziale na strony.

Tworzenie jednostki organizacyjnej

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

Jeśli jesteś administratorem tworzącym jednostkę organizacyjną, użyj funkcji 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. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji interfejsu API.

Żądanie JSON

Poniższy przykładowy kod JSON dla sprzedawców zawiera przykładową treść żądania, która tworzy jednostkę organizacyjną sales_support. name i parentOrgUnitPath są wymagane:

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ź zwróci 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 poniższego żądania PUT i dołącz autoryzację opisaną w artykule Autoryzacja żądań. Informacje o właściwościach żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API:

Jeśli jesteś administratorem jednostki organizacyjnej, która aktualizuje jednostkę, użyj funkcji my_customer.

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

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

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

Żądanie JSON

W poniższym przykładzie 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. Nie musisz wpisywać w żądaniu wszystkich właściwości grupy.
  • Jeśli podczas tworzenia konta użytkownik nie był przypisany do określonej jednostki organizacyjnej, konto należy do jednostki organizacyjnej najwyższego poziomu.
  • Możesz przenieść jednostkę organizacyjną do innej części struktury organizacyjnej konta, ustawiając w prośbie właściwość parentOrgUnitPath. Pamiętaj, że przeniesienie jednostki organizacyjnej może spowodować zmianę usług i ustawień przenoszonych użytkowników.

Odpowiedź JSON

Pomyślna odpowiedź zwraca kod stanu HTTP 201. Oprócz kodu stanu odpowiedź zwróci 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żytkownik nie był przypisany do określonej jednostki organizacyjnej, konto należy do jednostki 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, zmienią się jego uprawnienia dostępu. Więcej informacji na temat struktur organizacyjnych znajdziesz w Centrum pomocy dla administratorów. Więcej informacji o przenoszeniu użytkownika do innej organizacji znajdziesz w artykule Aktualizowanie konta użytkownika.

Pobieranie jednostki organizacyjnej

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

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

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

Jeśli jesteś sprzedawcą pobierającym jednostkę organizacyjną dla klienta sprzedawcy, użyj metody 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 „Sprzedaż z góry” pobrano jednostkę organizacyjną. Zwróć uwagę, że model „Frontline+Sprzedaż” Kodowanie HTTP 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ź zawiera 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 jednostki organizacyjnej, jej najbliższe podrzędne jednostki organizacyjne lub wszystkie podrzędne jednostki organizacyjne oraz określoną jednostkę organizacyjną, użyj tego żądania GET i dołącz autoryzację opisaną w artykule Autoryzacja żądań. Informacje o właściwościach żądań i odpowiedzi znajdziesz w dokumentacji interfejsu API.

Jeśli jesteś administratorem konta i pobierasz wszystkie podrzędne jednostki organizacyjne, użyj funkcji my_customer. Aby zwiększyć czytelność, ten przykład zwraca wiersze:

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 sprzedawcy, użyj customerId. Aby uzyskać dostęp do 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 jednostce organizacyjnej orgUnitPath, bezpośrednią wartość children elementu orgUnitPath lub wszystkie podrzędne jednostki organizacyjne i określoną wartość orgUnitPath dla elementu all_including_parent. Wartość domyślna to type=children.

Odpowiedź JSON

Na przykład to żądanie zwraca wszystkie jednostki organizacyjne, których nazwy zaczynają się 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 poniższego żądania DELETE i dołącz autoryzację opisaną w artykule Autoryzacja żądań. Aby pobrać customerId, użyj operacji Pobierz użytkownika. Informacje o właściwościach żądania i odpowiedzi znajdziesz w dokumentacji interfejsu API:

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

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

Jeśli jesteś sprzedawcą i chcesz usunąć jednostkę organizacyjną dla klienta sprzedawcy, 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 parametru „backend_tests” jednostka organizacyjna:
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 te jednostki organizacyjne, które nie mają żadnych podrzędnych jednostek organizacyjnych ani nie są do nich przypisanych żadnych użytkowników. Przed usunięciem musisz przypisać użytkowników do innych jednostek organizacyjnych i usunąć wszystkie podrzędne jednostki organizacyjne.