Directory API: หน่วยขององค์กร

จัดการหน่วยขององค์กร

โครงสร้างองค์กรของบัญชี Google Workspace ประกอบด้วยหน่วยขององค์กรที่ช่วยให้คุณจัดการผู้ใช้ได้ในโครงสร้างเชิงตรรกะและลำดับชั้น ฟังก์ชันนี้คล้ายกับฟังก์ชันการทำงานที่แท็บ "องค์กรและผู้ใช้" ของคอนโซลผู้ดูแลระบบ ลำดับชั้นหน่วยขององค์กรของลูกค้าจำกัดความลึกไว้ที่ 35 ระดับ โปรดดูข้อมูลเพิ่มเติมที่ศูนย์ช่วยเหลือสำหรับผู้ดูแลระบบ

  • บัญชี Google Workspace จะมีโครงสร้างองค์กรเพียงแบบเดียว เมื่อกำหนดค่าบัญชีนี้ในตอนแรก บัญชีจะมีหน่วยขององค์กรที่ระดับบัญชี นี่คือองค์กรที่เชื่อมโยงกับโดเมนหลัก โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับโดเมนหลักที่หัวข้อข้อมูลขีดจำกัดของ API
  • ชื่อพาธของหน่วยขององค์กรจะไม่ซ้ำกัน ชื่อหน่วยขององค์กรอาจซ้ำกันภายในลำดับชั้นขององค์กร แต่ชื่อจะไม่ซ้ำกันภายในหน่วยขององค์กรระดับเดียวกัน และชื่อหน่วยขององค์กรจะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
  • หน่วยขององค์กรจะรับค่านโยบายจากลำดับชั้นขององค์กร หน่วยขององค์กรทุกหน่วยสามารถบล็อกเชนการรับค่าจากระดับบนนี้โดยการลบล้างนโยบายที่รับช่วงมา ลำดับความสำคัญของนโยบายหนึ่งเหนือนโยบายอื่นจะกำหนดโดยหน่วยขององค์กรที่ใกล้ที่สุด หมายความว่านโยบายในหน่วยขององค์กรที่ต่ำกว่ามีความสำคัญเหนือกว่านโยบายของหน่วยขององค์กรที่มีลำดับชั้นสูงกว่า การตั้งค่า blockInheritance อนุญาตให้รับช่วงการตั้งค่าการบล็อกไปยังหน่วยขององค์กรและองค์กรย่อย blockInheritance เลิกใช้งานแล้ว ระบบไม่รองรับการตั้งค่าเป็น "จริง" อีกต่อไปและอาจส่งผลที่ไม่พึงประสงค์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการรับค่าและผู้ใช้ในโครงสร้างองค์กรได้ที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ
  • คุณย้ายหน่วยขององค์กรขึ้นหรือลงตามลำดับชั้นได้ และสามารถย้ายผู้ใช้ที่เชื่อมโยงขององค์กรเป็นรายบุคคลหรือเป็นกลุ่มได้ เมื่อป้อนข้อมูลองค์กรใหม่หรือย้ายผู้ใช้บางส่วนจากหน่วยขององค์กรหนึ่งไปยังอีกหน่วยหนึ่ง
  • ข้อมูลที่เก็บไว้ในพร็อพเพอร์ตี้ของหน่วยขององค์กรอาจเปลี่ยนแปลงได้ตลอดเวลา เมื่อส่งคำขอ พร็อพเพอร์ตี้ที่ส่งคืนสำหรับเอนทิตีจะรับประกันว่าจะสอดคล้องกัน ณ เวลาที่มีการเรียกข้อมูลเอนทิตี กล่าวคือ คุณจะไม่เห็นการอัปเดต "บางส่วน" หากการดำเนินการดึงข้อมูลแสดงผลเอนทิตีมากกว่า 1 รายการ จะไม่มีการรับประกันความสอดคล้องในเอนทิตีต่างๆ โดยเฉพาะอย่างยิ่งเมื่อการตอบกลับครอบคลุมหลายหน้าโดยใส่เลขหน้า

สร้างหน่วยขององค์กร

หากต้องการสร้างหน่วยขององค์กร ให้ใช้คำขอ POST ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอให้สิทธิ์

หากคุณเป็นผู้ดูแลระบบที่สร้างหน่วยขององค์กร ให้ใช้ my_customer

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

หากคุณเป็นตัวแทนจำหน่ายที่สร้างหน่วยขององค์กรให้กับลูกค้าจากพาร์ทเนอร์ ให้ใช้ customerId หากต้องการดึงข้อมูล customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้

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

เพื่อทำความเข้าใจโครงสร้างองค์กรของบัญชี โปรดดูที่ศูนย์ช่วยเหลือสำหรับผู้ดูแลระบบ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูเอกสารอ้างอิง API

คำขอ JSON

ตัวอย่างตัวแทนจำหน่าย JSON ต่อไปนี้แสดงตัวอย่างเนื้อหาคำขอที่สร้างหน่วยขององค์กร sales_support ต้องมี name และ 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
}

การตอบสนองของ JSON

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 นอกจากรหัสสถานะแล้ว การตอบกลับยังแสดงผลพร็อพเพอร์ตี้สำหรับกลุ่มใหม่ด้วย:

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

อัปเดตหน่วยขององค์กร

หากต้องการอัปเดตหน่วยขององค์กร ให้ใช้คำขอ PUT ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอการให้สิทธิ์ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูเอกสารอ้างอิง API ดังนี้

หากคุณเป็นผู้ดูแลระบบที่อัปเดตหน่วยขององค์กร ให้ใช้ my_customer

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

หากคุณเป็นตัวแทนจำหน่ายที่อัปเดตหน่วยขององค์กรสำหรับลูกค้าจากพาร์ทเนอร์ ให้ใช้ customerId หากต้องการรับ customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้

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

คำขอ JSON

ในตัวอย่างด้านล่าง มีการอัปเดตคำอธิบายหน่วยขององค์กร

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

หมายเหตุสำหรับคำขออัปเดต

  • คุณเพียงส่งข้อมูลที่อัปเดตในคำขอเท่านั้น คุณไม่จำเป็นต้องป้อนพร็อพเพอร์ตี้ทั้งหมดของกลุ่มในคำขอ
  • หากไม่มีการมอบหมายผู้ใช้ให้กับหน่วยขององค์กรใดเมื่อมีการสร้างบัญชีผู้ใช้ บัญชีจะอยู่ในหน่วยขององค์กรระดับบนสุด
  • คุณย้ายหน่วยขององค์กรไปยังส่วนอื่นในโครงสร้างองค์กรของบัญชีได้โดยตั้งค่าพร็อพเพอร์ตี้ parentOrgUnitPath ในคำขอ สิ่งสำคัญที่ควรทราบคือ การย้ายหน่วยขององค์กรสามารถเปลี่ยนบริการและการตั้งค่าสำหรับผู้ใช้ในหน่วยขององค์กรที่ย้ายได้

การตอบสนองของ JSON

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 การตอบกลับจะแสดงพร็อพเพอร์ตี้สำหรับหน่วยขององค์กรที่อัปเดตแล้วพร้อมกับรหัสสถานะ

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

หากไม่มีการมอบหมายผู้ใช้ให้กับหน่วยขององค์กรใดเมื่อมีการสร้างบัญชีผู้ใช้ บัญชีจะอยู่ในหน่วยขององค์กรระดับบนสุด หน่วยขององค์กรของผู้ใช้จะกำหนดบริการ Google Workspace ที่ผู้ใช้มีสิทธิ์เข้าถึง หากย้ายผู้ใช้ไปยังองค์กรใหม่ สิทธิ์เข้าถึงของผู้ใช้จะเปลี่ยนแปลงไป สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างองค์กร โปรดดูที่ศูนย์ช่วยเหลือสำหรับการดูแลระบบ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการย้ายผู้ใช้ไปยังองค์กรอื่นในอัปเดตผู้ใช้

เรียกข้อมูลหน่วยขององค์กร

หากต้องการเรียกข้อมูลหน่วยขององค์กร ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในส่วนให้สิทธิ์คำขอ สตริงการค้นหา orgUnitPath คือเส้นทางแบบเต็มสำหรับหน่วยขององค์กรนี้ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูเอกสารอ้างอิง API ดังนี้

หากคุณเป็นผู้ดูแลระบบที่กำลังเรียกข้อมูลหน่วยขององค์กร ให้ใช้ my_customer

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

หากคุณเป็นตัวแทนจำหน่ายที่เรียกข้อมูลหน่วยขององค์กรสำหรับลูกค้าจากพาร์ทเนอร์ ให้ใช้customerId หากต้องการรับ customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้

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

การตอบสนองของ JSON

ในตัวอย่างด้านล่าง ระบบจะดึงข้อมูลหน่วยขององค์กร "ฝ่ายขายแนวหน้า" โปรดสังเกตการเข้ารหัส HTTP "frontline+sales" ใน URI ของคำขอดังนี้

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

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 การตอบกลับจะแสดงการตั้งค่าในหน่วยขององค์กรพร้อมกับรหัสสถานะ

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

เรียกข้อมูลหน่วยขององค์กร

หากต้องการเรียกข้อมูลหน่วยขององค์กรย่อยทั้งหมดภายใต้หน่วยขององค์กร หน่วยขององค์กรย่อยที่อยู่ภายในหน่วยขององค์กรเดียว หรือหน่วยขององค์กรย่อยทั้งหมดพร้อมหน่วยขององค์กรที่ระบุ ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอสิทธิ์ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูเอกสารอ้างอิง API

หากคุณเป็นผู้ดูแลบัญชีที่เรียกข้อมูลหน่วยขององค์กรย่อยทั้งหมด ให้ใช้ my_customer ตัวอย่างนี้ใช้การขึ้นบรรทัดใหม่เพื่อช่วยให้อ่านง่ายขึ้น

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

หากคุณเป็นตัวแทนจำหน่ายที่เรียกข้อมูลหน่วยขององค์กรสำหรับลูกค้าจากพาร์ทเนอร์ ให้ใช้customerId หากต้องการรับ customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้ ดังนี้

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

สตริงการค้นหา get จะแสดงผลหน่วยขององค์กรย่อย all หน่วยภายใต้ orgUnitPath, children ที่อยู่ติดกันของ orgUnitPath หรือหน่วยขององค์กรย่อยทั้งหมดและ orgUnitPath ที่ระบุสำหรับ all_including_parent โดยมีค่าเริ่มต้นเป็น type=children

การตอบสนองของ JSON

เช่น คำขอนี้จะแสดงผลหน่วยขององค์กรทั้งหมดโดยเริ่มจากหน่วยขององค์กร /corp:

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

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 พร้อมด้วยรหัสสถานะ การตอบกลับจะแสดงหน่วยขององค์กรของบัญชีดังนี้

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

ลบหน่วยขององค์กร

หากต้องการลบหน่วยขององค์กร ให้ใช้คำขอ DELETE ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในส่วนให้สิทธิ์คำขอ หากต้องการดึงข้อมูล customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูเอกสารอ้างอิง API ดังนี้

หากคุณเป็นผู้ดูแลบัญชีที่ลบหน่วยขององค์กร ให้ใช้ my_customer

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

หากคุณเป็นตัวแทนจำหน่ายที่ลบหน่วยขององค์กรสำหรับลูกค้าจากพาร์ทเนอร์ ให้ใช้customerId หากต้องการรับ customerId ให้ใช้การดำเนินการเรียกข้อมูลผู้ใช้

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
ตัวอย่างเช่น คำขอDELETEของผู้ดูแลระบบของตัวแทนจำหน่ายรายนี้จะลบหน่วยขององค์กร "backend_tests" ดังนี้
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200

คุณสามารถลบได้เฉพาะหน่วยขององค์กรที่ไม่มีหน่วยขององค์กรย่อยหรือไม่ได้มอบหมายผู้ใช้ให้เท่านั้น คุณจะต้องมอบหมายผู้ใช้ให้กับหน่วยขององค์กรอื่นและนำหน่วยขององค์กรย่อยออกก่อนจึงจะลบได้