API thư mục: Đơn vị tổ chức

Quản lý đơn vị tổ chức

Cây tổ chức của tài khoản Google Workspace gồm các đơn vị tổ chức giúp bạn quản lý người dùng theo cấu trúc hợp lý và phân cấp. Chức năng này tương tự như chức năng có tại tab 'Tổ chức và người dùng' của Bảng điều khiển dành cho quản trị viên. Hệ phân cấp đơn vị tổ chức của khách hàng bị giới hạn ở 35 cấp độ. Để biết thêm thông tin, hãy xem Trung tâm trợ giúp dành cho quản trị viên.

  • Mỗi tài khoản Google Workspace chỉ có một cây tổ chức. Khi tài khoản này được định cấu hình lần đầu, tài khoản sẽ có một đơn vị tổ chức ở cấp tài khoản. Đây là tổ chức được liên kết với miền chính. Để biết thêm thông tin về miền chính, hãy xem Thông tin về giới hạn API.
  • Đường dẫn của một đơn vị tổ chức là duy nhất. Tên của đơn vị tổ chức có thể không phải là duy nhất trong hệ thống phân cấp tổ chức, nhưng tên của đơn vị tổ chức phải là duy nhất trong số các đơn vị tổ chức đồng cấp. Và tên của một đơn vị tổ chức không phân biệt chữ hoa chữ thường.
  • Đơn vị tổ chức kế thừa các chính sách từ hệ thống phân cấp tổ chức. Bất kỳ đơn vị tổ chức nào cũng có thể chặn chuỗi kế thừa của đơn vị mẹ bằng cách ghi đè chính sách kế thừa. Mức độ ưu tiên của một chính sách so với chính sách khác do đơn vị tổ chức gần nhất xác định. Tức là chính sách của một đơn vị tổ chức cấp thấp có thể được ưu tiên hơn chính sách của các đơn vị tổ chức cấp cao hơn. Để biết thêm thông tin về tính kế thừa và người dùng trong cơ cấu tổ chức, hãy xem trung tâm trợ giúp dành cho quản trị viên.
  • Bạn có thể di chuyển một đơn vị tổ chức lên hoặc xuống cây phân cấp. Ngoài ra, bạn có thể di chuyển từng người dùng hoặc một nhóm người dùng liên kết của tổ chức theo lô khi điền sẵn một tổ chức mới hoặc di chuyển một nhóm nhỏ người dùng từ đơn vị tổ chức này sang đơn vị tổ chức khác.
  • Dữ liệu được lưu giữ trong các thuộc tính đơn vị tổ chức có thể liên tục thay đổi. Khi bạn đưa ra yêu cầu, các thuộc tính được trả về cho một thực thể được đảm bảo là nhất quán tại thời điểm thực thể được truy xuất.Tức là bạn sẽ không thấy nội dung cập nhật "một phần". Nếu một thao tác truy xuất trả về nhiều thực thể, thì không có gì đảm bảo tính nhất quán giữa các thực thể.Điều này đặc biệt đúng khi một phản hồi trải dài trên nhiều trang trong quá trình phân trang.

Tạo đơn vị tổ chức

Để tạo một đơn vị tổ chức, hãy dùng yêu cầu POST sau đây và bao gồm quyền uỷ quyền được mô tả trong phần Cho phép yêu cầu.

Nếu bạn là quản trị viên tạo một đơn vị tổ chức, hãy sử dụng my_customer.

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

Nếu bạn là đại lý đang tạo đơn vị tổ chức cho khách hàng được bán lại, hãy sử dụng customerId. Để truy xuất customerId, hãy sử dụng thao tác Truy xuất người dùng.

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

Để tìm hiểu về cấu trúc tổ chức của tài khoản, hãy xem Trung tâm trợ giúp dành cho quản trị viên. Đối với các thuộc tính yêu cầu và phản hồi, hãy xem Tài liệu tham khảo API.

Yêu cầu JSON

Ví dụ sau đây về đại lý JSON cho thấy nội dung yêu cầu mẫu tạo đơn vị tổ chức sales_support. Bạn phải sử dụng nameparentOrgUnitPath:

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

Nội dung phản hồi JSON

Phản hồi thành công sẽ trả về mã trạng thái HTTP 201. Cùng với mã trạng thái, phản hồi sẽ trả về các thuộc tính cho nhóm mới:

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

Cập nhật đơn vị tổ chức

Để cập nhật một đơn vị tổ chức, hãy sử dụng yêu cầu PUT sau đây và thêm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Đối với các thuộc tính yêu cầu và phản hồi, hãy xem Tài liệu tham khảo API:

Nếu bạn là quản trị viên đang cập nhật đơn vị tổ chức, hãy sử dụng my_customer.

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

Nếu bạn là đại lý đang cập nhật đơn vị tổ chức cho khách hàng được bán lại, hãy sử dụng customerId. Để lấy customerId, hãy sử dụng thao tác Truy xuất người dùng.

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

Yêu cầu JSON

Trong ví dụ bên dưới, nội dung mô tả đơn vị tổ chức đã được cập nhật:

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

Lưu ý về yêu cầu cập nhật:

  • Bạn chỉ cần gửi thông tin mới nhất trong yêu cầu của mình. Bạn không cần nhập tất cả thuộc tính của nhóm trong yêu cầu.
  • Nếu người dùng không được chỉ định cho một đơn vị tổ chức cụ thể khi tạo tài khoản người dùng, thì tài khoản đó sẽ nằm trong đơn vị tổ chức cấp cao nhất.
  • Bạn có thể di chuyển một đơn vị tổ chức sang một phần khác trong cấu trúc tổ chức của tài khoản bằng cách đặt thuộc tính parentOrgUnitPath trong yêu cầu. Xin lưu ý rằng việc di chuyển một đơn vị tổ chức có thể thay đổi các dịch vụ và chế độ cài đặt cho người dùng trong đơn vị tổ chức đang được di chuyển.

Nội dung phản hồi JSON

Phản hồi thành công sẽ trả về mã trạng thái HTTP 201. Cùng với mã trạng thái, phản hồi sẽ trả về các thuộc tính cho đơn vị tổ chức đã cập nhật.

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

Nếu người dùng không được chỉ định cho một đơn vị tổ chức cụ thể khi tạo tài khoản người dùng, thì tài khoản đó sẽ nằm trong đơn vị tổ chức cấp cao nhất. Đơn vị tổ chức của người dùng sẽ xác định những dịch vụ Google Workspace mà người dùng đó có quyền truy cập. Nếu người dùng được chuyển sang một tổ chức mới, thì quyền truy cập của người dùng sẽ thay đổi. Để biết thêm thông tin về cơ cấu tổ chức, hãy xem trung tâm trợ giúp dành cho quản trị viên. Để biết thêm thông tin về cách chuyển người dùng sang một tổ chức khác, hãy xem bài viết Cập nhật người dùng.

Truy xuất đơn vị tổ chức

Để truy xuất một đơn vị tổ chức, hãy sử dụng yêu cầu GET sau đây và thêm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Chuỗi truy vấn orgUnitPath là đường dẫn đầy đủ cho đơn vị tổ chức này. Để biết các thuộc tính yêu cầu và phản hồi, hãy xem Tài liệu tham khảo API:

Nếu bạn là quản trị viên đang truy xuất một đơn vị tổ chức, hãy sử dụng my_customer.

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

Nếu bạn là đại lý truy xuất một đơn vị tổ chức cho khách hàng đã bán lại, hãy sử dụng customerId. Để lấy customerId, hãy sử dụng thao tác Truy xuất người dùng.

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

Nội dung phản hồi JSON

Trong ví dụ bên dưới, đơn vị tổ chức "nhân viên bán hàng tuyến đầu" được truy xuất. Lưu ý về phương thức mã hoá HTTP 'phía trước+bán hàng' trong URI của yêu cầu:

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

Phản hồi thành công sẽ trả về mã trạng thái HTTP 200. Cùng với mã trạng thái, phản hồi sẽ trả về các chế độ cài đặt của đơn vị tổ chức:

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

Truy xuất đơn vị tổ chức

Để truy xuất tất cả các đơn vị tổ chức con trong một đơn vị tổ chức, các đơn vị con cấp dưới trực tiếp trong một đơn vị tổ chức hoặc tất cả các đơn vị tổ chức con cộng với đơn vị tổ chức được chỉ định, hãy sử dụng yêu cầu GET sau đây và thêm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Đối với các thuộc tính yêu cầu và phản hồi, hãy xem Tài liệu tham khảo API.

Nếu bạn là quản trị viên tài khoản truy xuất tất cả các đơn vị phụ của tổ chức, hãy sử dụng my_customer. Để dễ đọc, ví dụ này sử dụng giá trị trả về dòng:

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

Nếu bạn là người bán lại truy xuất các đơn vị tổ chức cho khách hàng đã bán lại, hãy sử dụng customerId. Để lấy customerId, hãy sử dụng thao tác Truy xuất người dùng:

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

Chuỗi truy vấn get trả về all đơn vị tổ chức con trong orgUnitPath, children ngay lập tức của orgUnitPath hoặc tất cả đơn vị tổ chức con và orgUnitPath được chỉ định cho all_including_parent. Giá trị mặc định là type=children.

Nội dung phản hồi JSON

Ví dụ: yêu cầu này trả về tất cả các đơn vị tổ chức bắt đầu từ đơn vị tổ chức /corp:

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

Khi phản hồi thành công, hệ thống sẽ trả về mã trạng thái HTTP 200. Cùng với mã trạng thái, phản hồi sẽ trả về các đơn vị tổ chức của tài khoản:

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

Xoá đơn vị tổ chức

Để xoá một đơn vị tổ chức, hãy dùng yêu cầu DELETE sau đây và bao gồm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Để truy xuất customerId, hãy sử dụng thao tác Truy xuất người dùng. Đối với các thuộc tính yêu cầu và phản hồi, hãy xem Tài liệu tham khảo API:

Nếu bạn là quản trị viên tài khoản đang xoá một đơn vị tổ chức, hãy sử dụng my_customer.

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

Nếu bạn là người bán lại đang xoá một đơn vị tổ chức cho khách hàng đã bán lại, hãy sử dụng customerId. Để lấy customerId, hãy sử dụng thao tác Truy xuất người dùng.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Ví dụ: yêu cầu DELETE của quản trị viên đại lý này sẽ xoá đơn vị tổ chức "backend_tests":
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Khi phản hồi thành công, hệ thống sẽ trả về mã trạng thái HTTP 200.

Bạn chỉ có thể xoá những đơn vị tổ chức không có đơn vị tổ chức con hoặc người dùng nào được chỉ định. Bạn cần chỉ định lại người dùng cho các đơn vị tổ chức khác và xoá mọi đơn vị tổ chức con trước khi xoá.