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

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

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

  • บัญชี Google Workspace จะมีโครงสร้างองค์กรเพียงรายการเดียว เมื่อมีการกำหนดค่าบัญชีนี้ในตอนแรก บัญชีจะมีหน่วยขององค์กรที่ระดับบัญชี นี่คือองค์กรที่เชื่อมโยงกับโดเมนหลัก ดูข้อมูลเพิ่มเติมเกี่ยวกับโดเมนหลักได้ที่ข้อมูลขีดจํากัดของ 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

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