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

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

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

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

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

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

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

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

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

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

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

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

คำขออัปเดต

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

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

ฟิลด์มาสก์

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

ตัวอย่าง

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

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

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

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

  • ป้ายกำกับ title ผ่านออบเจ็กต์Properties

  • ออบเจ็กต์อย่างน้อย 1 รายการ Field

  • ทรัพยากร labels ที่ แสดงถึงป้ายกำกับ ซึ่งมี name และ id ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันทั่วโลกสำหรับป้ายกำกับ

  • ออบเจ็กต์ LabelView เป็น LABEL_VIEW_FULL เพื่อตั้งค่ามุมมองทรัพยากรที่จะใช้กับการตอบกลับของป้ายกำกับ LABEL_VIEW_FULL จะแสดงผลฟิลด์ที่เป็นไปได้ทั้งหมด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ id ของป้ายกำกับเพื่ออัปเดตป้ายกำกับที่ถูกต้อง

Python

body = {
    'useAdminAccess': True,
    'requests': [
        {
            'updateLabel': {
                'properties': {
                    'title': 'TITLE'
                },
                'updateMask': 'title'
            }
        },
        {
            'createField': {
                'field': {
                    'properties': {
                        'displayName': 'DISPLAY_NAME'
                    },
                    'textOptions': {}
                }
            }
        }
    ],
    'view': 'LABEL_VIEW_FULL'
}

response = service.labels().delta(
    body=body,
    name='labels/ID'
).execute()

Node.js

var body = {
  'useAdminAccess': true,
  'requests': [
    {
      'updateLabel': {
        'properties': {
          'title': 'TITLE'
        },
        'updateMask': 'title'
      }
    },
    {
      'createField': {
        'field': {
          'properties': {
            'displayName': 'DISPLAY_NAME'
          },
          'textOptions': {}
        }
      }
    }
  ],
  'view': 'LABEL_VIEW_FULL'
};

service.labels.delta({
  name: 'labels/ID',
  requestBody: body
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

แทนที่ค่าต่อไปนี้

  • TITLE: ชื่อป้ายกำกับ
  • DISPLAY_NAME: ชื่อที่แสดงของฟิลด์
  • ID: รหัสของป้ายกำกับ

ระบบจะอัปเดตป้ายกำกับ ฟิลด์ หรือตัวเลือก เพิ่มรหัสการแก้ไขของป้ายกำกับ และจัดเก็บป้ายกำกับในฐานข้อมูลเป็นป้ายกำกับฉบับร่าง ป้ายกำกับจะมี Stateเป็นPUBLISHED โดยตั้งค่า hasUnpublishedChanges เป็นtrueซึ่งหมายความว่ามีการเปลี่ยนแปลงฉบับร่าง แต่ผู้ใช้ยังไม่เห็น ป้ายกำกับที่อัปเดตแล้วต้องมีสถานะเป็น PUBLISHED ก่อนที่ผู้ใช้จะเห็นการเปลี่ยนแปลง ดูข้อมูลเพิ่มเติมได้ที่ ป้ายกำกับ วงจรการใช้งาน