อัปเดตป้ายกํากับ

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

การอัปเดตป้ายกำกับจะทำหน้าที่เป็นการอัปเดตเป็นกลุ่ม เนื่องจากเมธอดนี้ใช้รายการออบเจ็กต์ที่อัปเดต Request โดยจะทำการอัปเดตตามลำดับเดียวกันกับที่ระบุไว้ในคำขอแบบเป็นชุด การอัปเดตในการอัปเดตเป็นกลุ่มจะมีผลพร้อมกัน นั่นคือ หากคำขอใดคำขอหนึ่งในชุดไม่สำเร็จ การอัปเดตทั้งหมดจะไม่สำเร็จและระบบจะไม่ใช้การเปลี่ยนแปลงใดๆ (ที่อาจขึ้นอยู่กับคำขอที่ไม่สำเร็จ) ป้ายกำกับจะยังคงไม่เปลี่ยนแปลง

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

อัปเดตออบเจ็กต์ป้ายกำกับ

ป้ายกำกับมีออบเจ็กต์ประเภทอื่นๆ อีกมากมายที่อัปเดตได้ เช่น

  • พร็อพเพอร์ตี้ป้ายกำกับ
  • ฟิลด์และประเภทฟิลด์
  • ตัวเลือกและพร็อพเพอร์ตี้ของตัวเลือก

นี่เป็นเพียงออบเจ็กต์บางส่วนจากหลายๆ ออบเจ็กต์ที่ควบคุมลักษณะที่ปรากฏและการทำงานของป้ายกำกับ

หมวดหมู่การดำเนินการ

การดำเนินการต่อไปนี้ที่เมธอด labels.delta รองรับสามารถ จัดกลุ่มได้เป็นหมวดหมู่กว้างๆ ดังนี้

หมวดหมู่ คำอธิบาย
สร้างเพิ่มออบเจ็กต์
อัปเดตอัปเดตพร็อพเพอร์ตี้บางอย่างของออบเจ็กต์
เปิดใช้เปิดใช้ออบเจ็กต์
ปิดใช้ปิดใช้ออบเจ็กต์
ลบนำออบเจ็กต์ออก

เราจะใช้หมวดหมู่เหล่านี้ในส่วนถัดไปเพื่ออธิบายลักษณะการทำงานของการดำเนินการที่เฉพาะเจาะจง

คำขออัปเดต

เมธอด labels.delta ทำงาน โดยใช้หนึ่งหรือหลาย ออบเจ็กต์คำขอ ซึ่งแต่ละ ออบเจ็กต์จะระบุคำขอประเภทเดียวที่จะดำเนินการ คำขอมีหลายประเภท ต่อไปนี้คือรายละเอียดเกี่ยวกับประเภทคำขอที่จัดกลุ่มเป็นหมวดหมู่ต่างๆ

ประเภทคำขอ
พร็อพเพอร์ตี้ป้ายกำกับ
อัปเดต UpdateLabelPropertiesRequest
ฟิลด์
สร้าง CreateFieldRequest
อัปเดต UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
เปิดใช้ EnableFieldRequest
ปิดใช้ DisableFieldRequest
ลบ DeleteFieldRequest
ตัวเลือก
สร้าง CreateSelectionChoiceRequest
อัปเดต UpdateSelectionChoicePropertiesRequest
เปิดใช้ EnableSelectionChoiceRequest
ปิดใช้ DisableSelectionChoiceRequest
ลบ DeleteSelectionChoiceRequest

ฟิลด์มาสก์

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

ตัวอย่าง

หากต้องการอัปเดตป้ายกำกับ ให้ใช้เมธอด delta ในคอลเล็กชัน labels

นอกจากนี้ คุณยังต้องระบุสิ่งต่อไปนี้ด้วย

  • useAdminAccess เป็น true เพื่อใช้ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบของผู้ใช้ เซิร์ฟเวอร์จะตรวจสอบว่าผู้ใช้เป็นผู้ดูแลระบบของป้ายกำกับก่อนที่จะอนุญาตให้เข้าถึง

  • A Request ที่ ระบุการอัปเดตที่เกี่ยวข้องกับป้ายกำกับ

  • ป้ายกำกับ title ผ่านเมธอด property

  • Field อย่างน้อย 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 ก่อนที่ผู้ใช้จะเห็นการเปลี่ยนแปลง ดูข้อมูลเพิ่มเติมได้ที่ ป้ายกำกับ วงจรการใช้งาน