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

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

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

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

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

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

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

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

หากต้องการอัปเดตหน่วยขององค์กร ให้ใช้คำขอ 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"
}

หากไม่ได้กำหนดผู้ใช้ให้กับหน่วยขององค์กรใดหน่วยหนึ่งเมื่อสร้างบัญชีผู้ใช้ บัญชีจะอยู่ในหน่วยขององค์กรระดับบนสุด หน่วยขององค์กรของผู้ใช้เป็นตัวกำหนดบริการของ 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"
}

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

หากต้องการดึงข้อมูลหน่วยขององค์กรย่อยทั้งหมดภายใต้หน่วยขององค์กร หน่วยย่อยที่อยู่ภายใต้หน่วยขององค์กรโดยตรง หรือหน่วยขององค์กรย่อยทั้งหมดรวมถึงหน่วยขององค์กรที่ระบุ ให้ใช้คำขอ 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"
     },
     {
    "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"
     }
  ]
  }

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

หากต้องการลบหน่วยขององค์กร ให้ใช้คำขอ 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

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