คุณอัปเดตป้ายกำกับเดียวได้โดยใช้ชุดคำขออัปเดต ซึ่งจะส่งผลให้เกิดการแก้ไขฉบับร่างใหม่ เช่น คุณอัปเดตพร็อพเพอร์ตี้ป้ายกำกับที่มีอยู่
(คำอธิบายป้ายกำกับ
) หรือเพิ่ม
Fieldใหม่ลงในป้ายกำกับก็ได้
การอัปเดตป้ายกำกับจะทำหน้าที่เป็นการอัปเดตเป็นกลุ่ม เนื่องจากเมธอดนี้ใช้รายการออบเจ็กต์ที่อัปเดต
Request โดยจะทำการอัปเดตตามลำดับเดียวกันกับที่ระบุไว้ในคำขอแบบเป็นชุด การอัปเดตในการอัปเดตเป็นกลุ่มจะมีผลพร้อมกัน นั่นคือ หากคำขอใดคำขอหนึ่งในชุดไม่สำเร็จ การอัปเดตทั้งหมดจะไม่สำเร็จและระบบจะไม่ใช้การเปลี่ยนแปลงใดๆ (ที่อาจขึ้นอยู่กับคำขอที่ไม่สำเร็จ) ป้ายกำกับจะยังคงไม่เปลี่ยนแปลง
หากการอัปเดตสำเร็จ คุณต้องเผยแพร่การแก้ไขฉบับร่างที่ได้ก่อนจึงจะใช้การเปลี่ยนแปลงกับรายการใน Drive ได้
อัปเดตออบเจ็กต์ป้ายกำกับ
ป้ายกำกับมีออบเจ็กต์ประเภทอื่นๆ อีกมากมายที่อัปเดตได้ เช่น
- พร็อพเพอร์ตี้ป้ายกำกับ
- ฟิลด์และประเภทฟิลด์
- ตัวเลือกและพร็อพเพอร์ตี้ของตัวเลือก
นี่เป็นเพียงออบเจ็กต์บางส่วนจากหลายๆ ออบเจ็กต์ที่ควบคุมลักษณะที่ปรากฏและการทำงานของป้ายกำกับ
หมวดหมู่การดำเนินการ
การดำเนินการต่อไปนี้ที่เมธอด
labels.delta รองรับสามารถ
จัดกลุ่มได้เป็นหมวดหมู่กว้างๆ ดังนี้
| หมวดหมู่ | คำอธิบาย |
|---|---|
| สร้าง | เพิ่มออบเจ็กต์ |
| อัปเดต | อัปเดตพร็อพเพอร์ตี้บางอย่างของออบเจ็กต์ |
| เปิดใช้ | เปิดใช้ออบเจ็กต์ |
| ปิดใช้ | ปิดใช้ออบเจ็กต์ |
| ลบ | นำออบเจ็กต์ออก |
เราจะใช้หมวดหมู่เหล่านี้ในส่วนถัดไปเพื่ออธิบายลักษณะการทำงานของการดำเนินการที่เฉพาะเจาะจง
คำขออัปเดต
เมธอด labels.delta ทำงาน
โดยใช้หนึ่งหรือหลาย
ออบเจ็กต์คำขอ ซึ่งแต่ละ
ออบเจ็กต์จะระบุคำขอประเภทเดียวที่จะดำเนินการ คำขอมีหลายประเภท ต่อไปนี้คือรายละเอียดเกี่ยวกับประเภทคำขอที่จัดกลุ่มเป็นหมวดหมู่ต่างๆ
| ประเภทคำขอ | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| พร็อพเพอร์ตี้ป้ายกำกับ |
|
||||||||||
| ฟิลด์ |
|
||||||||||
| ตัวเลือก |
|
||||||||||
ฟิลด์มาสก์
คำขอประเภท "อัปเดต" และ "ปิดใช้" หลายรายการต้องใช้
FieldMask
ซึ่งเป็นรายการฟิลด์ที่คั่นด้วยคอมมาที่คุณต้องการอัปเดตโดยไม่เปลี่ยนแปลงฟิลด์อื่นๆ คุณต้องใช้มาสก์เพื่อให้แน่ใจว่าระบบจะอัปเดตเฉพาะฟิลด์ที่คุณต้องการแก้ไข และต้องระบุฟิลด์อย่างน้อย 1 รายการ
ตัวอย่าง
หากต้องการอัปเดตป้ายกำกับ ให้ใช้เมธอด
delta ในคอลเล็กชัน
labels
นอกจากนี้ คุณยังต้องระบุสิ่งต่อไปนี้ด้วย
useAdminAccessเป็นtrueเพื่อใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบของผู้ใช้ เซิร์ฟเวอร์จะตรวจสอบว่าผู้ใช้เป็นผู้ดูแลระบบของป้ายกำกับก่อนที่จะอนุญาตให้เข้าถึงA
Requestที่ ระบุการอัปเดตที่เกี่ยวข้องกับป้ายกำกับป้ายกำกับ
titleผ่านเมธอดpropertyFieldอย่างน้อย 1 รายการทรัพยากรป้ายกำกับ ที่แสดงถึงป้ายกำกับทุกรายการ ซึ่งมี
NameและIDของทรัพยากร ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันทั่วโลกสำหรับป้ายกำกับLabelViewเป็นLABEL_VIEW_FULLเพื่อตั้งค่ามุมมองทรัพยากรที่ใช้กับการตอบกลับของป้ายกำกับLABEL_VIEW_FULLจะแสดงผลฟิลด์ที่เป็นไปได้ทั้งหมด
ตัวอย่างนี้ใช้ ID เพื่ออัปเดตป้ายกำกับที่ถูกต้อง
Python
body = {
'use_admin_access': True,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID').execute()
Node.js
var body = {
'use_admin_access': true,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
'resource': body,
'name': 'labels/ID'
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
ระบบจะอัปเดตป้ายกำกับ ฟิลด์ หรือตัวเลือก เพิ่มรหัสการแก้ไขของป้ายกำกับ และจัดเก็บป้ายกำกับในฐานข้อมูลเป็นป้ายกำกับฉบับร่าง ป้ายกำกับจะมี
State เป็น PUBLISHED โดยมี
hasUnpublishedChanges=true ซึ่งหมายความว่ามีการเปลี่ยนแปลงฉบับร่าง แต่ผู้ใช้ยังเข้าถึงการเปลี่ยนแปลงดังกล่าวไม่ได้ ป้ายกำกับที่อัปเดตต้องมีสถานะเป็น PUBLISHED ก่อนที่ผู้ใช้จะเห็นการเปลี่ยนแปลง ดูข้อมูลเพิ่มเติมได้ที่ ป้ายกำกับ
วงจรการใช้งาน