คุณอัปเดตป้ายกำกับรายการเดียวได้โดยใช้ชุดคำขออัปเดต ซึ่งจะส่งผลให้เกิด
ฉบับร่างใหม่ เช่น คุณสามารถอัปเดตพร็อพเพอร์ตี้ของป้ายกำกับที่มีอยู่ (คำอธิบายของป้ายกำกับ) หรือเพิ่มFieldใหม่ลงในป้ายกำกับก็ได้
การอัปเดตป้ายกำกับจะทำหน้าที่เป็นการอัปเดตแบบเป็นกลุ่ม เนื่องจากวิธีการนี้ใช้รายการอัปเดต
Request ออบเจ็กต์ โดยจะอัปเดตตามลำดับเดียวกันกับที่ระบุไว้ในคำขอแบบกลุ่ม ระบบจะใช้การอัปเดตในการอัปเดตแบบเป็นกลุ่มแบบอะตอม กล่าวคือ หากคำขอใดก็ตามใน
กลุ่มไม่สำเร็จ การอัปเดตทั้งหมดจะไม่สำเร็จและจะไม่มีการใช้การเปลี่ยนแปลงใดๆ (ซึ่งอาจขึ้นอยู่กับคำขออื่น) ป้ายกำกับจะไม่มีการเปลี่ยนแปลง
หากอัปเดตสำเร็จ คุณต้องเผยแพร่ฉบับร่างที่ได้ ก่อนจึงจะใช้การเปลี่ยนแปลงกับรายการในไดรฟ์ได้
อัปเดตออบเจ็กต์ป้ายกำกับ
ป้ายกำกับมีออบเจ็กต์ประเภทอื่นๆ อีกมากมายที่อัปเดตได้ เช่น
- พร็อพเพอร์ตี้ของป้ายกำกับ
- ฟิลด์และประเภทฟิลด์
- ตัวเลือกการเลือกและพร็อพเพอร์ตี้ตัวเลือกการเลือก
นี่เป็นเพียงออบเจ็กต์บางส่วนที่ควบคุมลักษณะที่ปรากฏและการทำงานของ ป้ายกำกับ
หมวดหมู่การดำเนินงาน
การดำเนินการต่อไปนี้ที่เมธอด labels.delta รองรับสามารถจัดกลุ่มเป็นหมวดหมู่กว้างๆ ได้ดังนี้
| หมวดหมู่ | คำอธิบาย |
|---|---|
| สร้าง | เพิ่มออบเจ็กต์ |
| อัปเดต | อัปเดตพร็อพเพอร์ตี้บางอย่างของออบเจ็กต์ |
| เปิดใช้ | เปิดใช้ออบเจ็กต์ |
| ปิดใช้ | ปิดใช้ออบเจ็กต์ |
| ลบ | นำออบเจ็กต์ออก |
เราจะใช้หมวดหมู่เหล่านี้ในส่วนถัดไปเพื่ออธิบายลักษณะการทำงานของ การดำเนินการที่เฉพาะเจาะจง
คำขออัปเดต
เมธอด labels.delta ทำงานโดยรับออบเจ็กต์ Request อย่างน้อย 1 รายการ ซึ่งแต่ละรายการจะระบุคำขอประเภทเดียวที่จะดำเนินการ คำขอมีหลายประเภท โดยประเภทคำขอจะแบ่งออกเป็นหมวดหมู่ต่างๆ ดังนี้
| ประเภทคำขอ | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| พร็อพเพอร์ตี้ป้ายกำกับ |
|
||||||||||
| ฟิลด์ |
|
||||||||||
| ตัวเลือกการเลือก |
|
||||||||||
ฟิลด์มาสก์
คำขอประเภท "อัปเดต" และ "ปิดใช้" หลายรายการต้องมีFieldMask
นี่คือรายการฟิลด์ที่คั่นด้วยคอมมาซึ่งคุณต้องการอัปเดตโดยปล่อยให้ฟิลด์อื่นๆ ไม่มีการเปลี่ยนแปลง คุณต้องระบุมาสก์เพื่อให้แน่ใจว่าระบบจะอัปเดตเฉพาะฟิลด์ที่คุณต้องการแก้ไข คุณต้องระบุอย่างน้อย 1 ฟิลด์
ตัวอย่าง
หากต้องการอัปเดตป้ายกำกับ ให้ใช้วิธี delta ในคอลเล็กชัน labels
นอกจากนี้ คุณต้องระบุข้อมูลต่อไปนี้ด้วย
useAdminAccessจะtrueเพื่อใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบของผู้ใช้ เซิร์ฟเวอร์จะยืนยันว่าผู้ใช้เป็นผู้ดูแลระบบของป้ายกำกับก่อนที่จะอนุญาต ให้เข้าถึง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 ก่อนที่ผู้ใช้จะเห็นการเปลี่ยนแปลง
ดูข้อมูลเพิ่มเติมได้ที่วงจร
ป้ายกำกับ