นำป้ายกำกับออกจากไฟล์

หน้านี้จะอธิบายวิธีนำป้ายกำกับออกจากไฟล์ Google ไดรฟ์ไฟล์เดียว

หากต้องการนำข้อมูลเมตาของป้ายกำกับไฟล์ออกจากไฟล์ ให้ใช้เมธอด files.modifyLabels เนื้อหาของคำขอมีอินสแตนซ์ของ ModifyLabelsRequest สำหรับแก้ไขชุดป้ายกำกับในไฟล์ คำขออาจมีการแก้ไขหลายอย่างที่นำไปใช้ในแบบอะตอม กล่าวคือ หากการแก้ไขใดไม่ถูกต้อง หมายความว่าการอัปเดตทั้งหมดจะไม่สำเร็จ และไม่มีการเปลี่ยนแปลงใดๆ (ที่อาจ ขึ้นอยู่กับ) เกิดขึ้น

ModifyLabelsRequest มีอินสแตนซ์ของ LabelModification ซึ่งเป็นการแก้ไขป้ายกำกับในไฟล์ และอาจมีอินสแตนซ์ของ FieldModification ซึ่งเป็นการแก้ไขช่องของป้ายกำกับ หากต้องการนำป้ายกำกับออกจากไฟล์ ให้ตั้งค่า FieldModification.removeLabel เป็น True

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีป้ายกำกับที่เพิ่มหรืออัปเดตตามคำขอ รายการเหล่านี้อยู่ในออบเจ็กต์ modifiedLabels ประเภท Label

ตัวอย่าง

ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีใช้ labelId เพื่อนำช่องทั้งหมดที่เชื่อมโยงกับป้ายกำกับออกโดยใช้ fileId เช่น หากป้ายกำกับมีทั้งช่องข้อความและผู้ใช้ การนำป้ายกำกับออกจะลบทั้งช่องข้อความและผู้ใช้ที่เชื่อมโยงกับป้ายกำกับ ในขณะที่การยกเลิกการตั้งค่าช่องข้อความจะนำช่อง ออกจากป้ายกำกับ แต่ไม่ได้แตะช่องผู้ใช้ ดูข้อมูลเพิ่มเติมได้ที่ยกเลิกการตั้งค่าช่องป้ายกำกับในไฟล์

Java

ModifyLabelsRequest modifyLabelsRequest =
  new ModifyLabelsRequest()
      .setLabelModifications(
          ImmutableList.of(
              new LabelModification()
                .setLabelId("LABEL_ID")
                .setRemoveLabel(true)));

ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();

Python

label_modification = {'labelId':'LABEL_ID', 'removeLabel': True]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();

Node.js

/**
* Remove a label on a Drive file
* @return{obj} updated label data
**/
async function removeLabel() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const labelModification = {
    'labelId': 'LABEL_ID',
    'removeLabel': True,
  };
  const labelModificationRequest = {
    'labelModifications': [labelModification],
  };
  try {
    const updateResponse = await service.files.modifyLabels({
      fileId: 'FILE_ID',
      resource: labelModificationRequest,
    });
    return updateResponse;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }

แทนที่รายการต่อไปนี้

  • LABEL_ID: labelId ของป้ายกำกับที่จะแก้ไข หากต้องการค้นหาป้ายกำกับในไฟล์ ให้ใช้เมธอด files.listLabels
  • FILE_ID: fileId ของไฟล์ที่มีการแก้ไขป้ายกำกับ