คุณกำหนดฟิลด์ที่กำหนดเองสำหรับผู้ใช้ในโดเมนได้โดยการเพิ่มสคีมาผู้ใช้ที่กำหนดเองลงในโดเมน คุณใช้ช่องเหล่านี้เพื่อจัดเก็บข้อมูล เช่น โปรเจ็กต์ที่ผู้ใช้ทำงาน สถานที่ตั้งจริง วันที่จ้างงาน หรือข้อมูลอื่นๆ ที่เหมาะกับความต้องการทางธุรกิจได้
หากต้องการเริ่มต้นใช้งาน ให้สร้างสคีมาอย่างน้อย 1 รายการ เพื่อกำหนดช่องที่กำหนดเองซึ่งเหมาะกับโดเมนของคุณ คุณระบุแอตทริบิวต์ได้หลายอย่าง เช่น ชื่อฟิลด์ ประเภท (สตริง บูลีน จำนวนเต็ม ฯลฯ) ไม่ว่าจะเป็นค่าเดียวหรือหลายค่า และไม่ว่าผู้ใช้ในโดเมนจะดูค่าได้หรือไม่ หรือดูได้เฉพาะผู้ดูแลระบบและผู้ใช้ที่เชื่อมโยง
เมื่อกำหนดสคีมาแล้ว ช่องที่กำหนดเองจะทำงานเหมือนกับช่องมาตรฐาน
คุณตั้งค่าได้เมื่ออัปเดตผู้ใช้ในโดเมน ดึงข้อมูลด้วย users.get และ
users.list รวมถึงค้นหาฟิลด์ที่กำหนดเอง
ตั้งค่าช่องที่กำหนดเองในโปรไฟล์ผู้ใช้
หากต้องการอัปเดตหรือสร้างสคีมา ให้สร้างcustomSchemasพร็อพเพอร์ตี้
แล้วเพิ่มลงในทรัพยากรผู้ใช้ ภายในพร็อพเพอร์ตี้ customSchemas ระบบจะจัดกลุ่มฟิลด์ที่กำหนดเองตามสคีมาในรูปแบบ JSON มาตรฐาน ดังนี้
"customSchemas": {
"schema1": {
"field1": "value1",
"field2": [
{ "value": "value2a" },
{ "value": "value2b" },
...
],
...
},
"schema2": {
"field3": "value3",
...
},
...
}
ระบบจะตั้งค่าช่องที่กำหนดเองแบบค่าเดียวเป็นคู่คีย์-ค่าอย่างง่าย เช่น
"field1": "value1" ระบบจะตั้งค่าช่องที่กำหนดเองแบบหลายค่าเป็นอาร์เรย์ของออบเจ็กต์
เช่นเดียวกับช่องแบบหลายค่ามาตรฐานใน API เช่น addresses และ
phones ออบเจ็กต์ค่าเหล่านี้รองรับคีย์ต่อไปนี้
| คีย์ | |
|---|---|
value |
ค่าที่จะจัดเก็บ (ต้องระบุ) |
type |
ประเภทของค่า (ไม่บังคับ) ค่าที่เป็นไปได้มีดังนี้
|
customType |
ประเภทที่กำหนดเองของค่า (ไม่บังคับ) ต้องใช้เมื่อตั้งค่า type เป็น custom |
หากไม่ได้ระบุฟิลด์ที่กำหนดเองในสคีมาเมื่ออัปเดต ระบบจะ
ไม่เปลี่ยนแปลงฟิลด์ดังกล่าว หากไม่ได้ระบุสคีมาใน customFields เมื่ออัปเดต
ระบบจะไม่เปลี่ยนแปลงฟิลด์ที่กำหนดเองทั้งหมดในสคีมานั้น หากต้องการลบฟิลด์ที่กำหนดเองหรือสคีมาที่กำหนดเองออกจากโปรไฟล์ คุณต้องตั้งค่าเป็นnull
อย่างชัดเจน
"schema1": {
"field1": null // deletes field1 from this profile.
}
คำขอ JSON
การเรียกในตัวอย่างด้านล่างจะอัปเดตผู้ใช้และตั้งค่าสำหรับสคีมาที่กำหนดเอง employmentData
PATCH https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"customSchemas": {
"employmentData": {
"employeeNumber": "123456789",
"jobFamily": "Engineering"
"location": "Atlanta",
"jobLevel": 8,
"projects": [
{ "value": "GeneGnome" },
{ "value": "Panopticon", "type": "work" },
{ "value": "MegaGene", "type": "custom", "customType": "secret" }
]
}
}
}
อ่านฟิลด์ที่กำหนดเองในโปรไฟล์ผู้ใช้
คุณสามารถดึงข้อมูลฟิลด์ที่กำหนดเองในโปรไฟล์ผู้ใช้ได้โดยการตั้งค่าพารามิเตอร์ projection
ในคำขอ users.get หรือ
users.list เป็น custom หรือ full
ค้นหาช่องที่กำหนดเองในโปรไฟล์ผู้ใช้
คุณค้นหาภายในช่องที่กำหนดเองได้โดยใช้พารามิเตอร์ query ในคำขอ users.list คุณ
ขอช่องที่กำหนดเองด้วยไวยากรณ์ schemaName.fieldName เช่น
employmentData.projects:"GeneGnome"
แสดงผลพนักงานทุกคนที่ทำงานในโปรเจ็กต์ GeneGnome คำค้นหา
employmentData.location="Atlanta" employmentData.jobLevel>=7
แสดงพนักงานทั้งหมดในแอตแลนตาที่มีระดับงานสูงกว่า 7 ดูข้อมูลเพิ่มเติมได้ที่ ค้นหาผู้ใช้
สร้างสคีมาของผู้ใช้ที่กำหนดเอง
คุณเพิ่มสคีมาผู้ใช้ที่กำหนดเองลงในโดเมนทั้งหมดของบัญชี Google Workspace ได้
หากต้องการสร้างสคีมาผู้ใช้ที่กำหนดเองในโดเมน ให้ใช้POSTคำขอต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอสิทธิ์ ดูพร็อพเพอร์ตี้สตริงการค้นหาของคำขอได้ที่เอกสารอ้างอิง API
POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
คำขอสร้างทั้งหมดกำหนดให้คุณต้องส่งข้อมูลที่จำเป็นต่อการดำเนินการตามคำขอ หากคุณใช้ไลบรารีของไคลเอ็นต์ ไลบรารีจะแปลงออบเจ็กต์ข้อมูล จากภาษาที่คุณเลือกเป็นออบเจ็กต์ข้อมูล JSON ที่จัดรูปแบบ
คำขอ JSON
ตัวอย่างต่อไปนี้แสดงคำขอสร้างสคีมาที่กำหนดเอง ดูรายการพร็อพเพอร์ตี้คำขอและการตอบกลับทั้งหมดได้ที่เอกสารอ้างอิง API
{
"schemaName": "employmentData",
"fields": [
{
"fieldName": "EmployeeNumber",
"fieldType": "STRING",
"multiValued": "false"
},
{
"fieldName": "JobFamily",
"fieldType": "STRING",
"multiValued": "false"
}
]
}
การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 พร้อมกับพร็อพเพอร์ตี้สำหรับสคีมาที่กำหนดเองใหม่
ขีดจำกัดของสคีมาที่กำหนดเอง
- จำนวนสคีมาที่กำหนดเองสูงสุดที่อนุญาตในบัญชีคือ 100 รายการ
- จำนวนช่องที่กำหนดเองสูงสุดที่อนุญาตในบัญชีคือ 100 ช่อง
- จำนวนอักขระสูงสุดที่อนุญาตในฟิลด์
stringสำหรับฟิลด์ที่กำหนดเองแบบค่าเดียวคือ 500 สำหรับฟิลด์ที่กำหนดเองแบบหลายค่า จำนวนองค์ประกอบที่อนุญาตจะขึ้นอยู่กับขนาดของค่าที่กำหนด เช่น คุณเพิ่มค่า 150 ค่าที่มีอักขระ 100 ตัวในแต่ละค่า หรือเพิ่มค่า 50 ค่าที่มีอักขระ 500 ตัวในแต่ละค่าได้ - อักขระที่อนุญาตในสคีมาที่กำหนดเองและชื่อฟิลด์คืออักขระที่เป็นตัวอักษรและตัวเลขคละกัน
ขีดล่าง (
_) และขีดกลาง (-) - ไม่อนุญาตให้เปลี่ยนประเภทของฟิลด์
- คุณเปลี่ยนฟิลด์ที่มีค่าเดียวให้เป็นฟิลด์ที่มีหลายค่าได้ แต่ระบบไม่อนุญาตให้ดำเนินการย้อนกลับ
- คุณเปลี่ยนชื่อสคีมาหรือฟิลด์ที่กำหนดเองไม่ได้
อัปเดตสคีมาของผู้ใช้ที่กำหนดเอง
หากต้องการอัปเดตสคีมาที่กำหนดเอง ให้ใช้คำขอ PUT ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอสิทธิ์ schemaKey
idอาจเป็นชื่อสคีมาหรือสคีมาที่ไม่ซ้ำกันก็ได้ ดูพร็อพเพอร์ตี้คำขอ
และการตอบกลับได้ใน
เอกสารอ้างอิง API
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
คำขอ JSON
ในตัวอย่างด้านล่าง สคีมา employmentData มีฟิลด์ JobFamily
เมื่อสร้างขึ้นครั้งแรก คำขอจะอัปเดต employmentData ให้
มีเฉพาะฟิลด์ EmployeeNumber ดังนี้
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/schemas/employmentData
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"St7vIdePbbDsQUvvrssynd-6JLg/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"St7vIdePbbDsQUvvrssynd-6JLg/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber",
"multiValued": "false"
}
]
}
คำขออัปเดตทั้งหมดกำหนดให้คุณต้องส่งข้อมูลที่จำเป็นต่อการดำเนินการตามคำขอ
การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 พร้อมกับทรัพยากรสคีมาที่อัปเดต
ดึงข้อมูลสคีมาของผู้ใช้ที่กำหนดเอง
หากต้องการดึงข้อมูลสคีมาที่กำหนดเอง ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอสิทธิ์ schemaKey
idอาจเป็นชื่อสคีมาหรือสคีมาที่ไม่ซ้ำกันก็ได้ ดูพร็อพเพอร์ตี้คำขอ
และการตอบกลับได้ใน
เอกสารอ้างอิง API
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas/schemaKey
การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 พร้อมกับพร็อพเพอร์ตี้สำหรับสคีมาที่กำหนดเอง
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber"
},
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "ZKy0QtoMRy2QlM-4sAsPtQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/jEULI-ZiqywQIHXgc8evEcTE4Cc\"",
"fieldType": "STRING",
"fieldName": "JobFamily"
}
]
}
ดึงข้อมูลสคีมาของผู้ใช้ที่กำหนดเองทั้งหมด
หากต้องการดึงข้อมูลสคีมาที่กำหนดเองทั้งหมดในบัญชีเดียวกัน ให้ใช้GET
คำขอต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ใน
คำขอสิทธิ์ สำหรับพร็อพเพอร์ตี้คำขอและการตอบกลับ โปรดดูข้อมูลอ้างอิง API
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer or customerId/schemas
การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 พร้อมกับสคีมาที่กำหนดเองสำหรับบัญชี
{
"kind": "admin#directory#schemas",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/iJ1eWn5AKuR-xTdwH_2IBlvSSKo\"",
"schemas": [
{
"kind": "admin#directory#schema",
"schemaId": "dKaYmUwmSZy5lreXyh75hQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/PKg63GvWb7bnVSNRomd_O-Vi66w\"",
"schemaName": "employmentData",
"fields": [
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "21_B4iQIRY-dIFGFgAX-Og==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/LZxiGaz6_N4R40OpKbDhOcy2qiE\"",
"fieldType": "STRING",
"fieldName": "EmployeeNumber"
},
{
"kind": "admin#directory#schema#fieldspec",
"fieldId": "ZKy0QtoMRy2QlM-4sAsPtQ==",
"etag": "\"KYnPjBPqr8knK6v7rpxly9BhNeY/jEULI-ZiqywQIHXgc8evEcTE4Cc\"",
"fieldType": "STRING",
"fieldName": "JobFamily"
}
]
}
]
}