किसी फ़ाइल पर लेबल फ़ील्ड को अनसेट करना

इस पेज पर, Google Drive की किसी फ़ाइल से लेबल Field हटाने का तरीका बताया गया है.

किसी फ़ाइल से मेटाडेटा हटाने के लिए, फ़ाइल के लेबल को अनसेट करें. इसके लिए, files.modifyLabels तरीके का इस्तेमाल करें. अनुरोध के मुख्य हिस्से में, किसी फ़ाइल पर लेबल के सेट में बदलाव करने के लिए ModifyLabelsRequest का एक इंस्टेंस शामिल होता है. अनुरोध में कई बदलाव शामिल हो सकते हैं, जिन्हें एक साथ लागू किया जाता है. इसका मतलब है कि अगर कोई बदलाव मान्य नहीं है, तो पूरा अपडेट लागू नहीं होगा. साथ ही, (संभावित रूप से निर्भर) कोई भी बदलाव लागू नहीं होगा.

ModifyLabelsRequest में LabelModification का एक इंस्टेंस शामिल है. यह किसी फ़ाइल के लेबल में किया गया बदलाव है. इसमें FieldModification का इंस्टेंस भी शामिल हो सकता है. यह लेबल के फ़ील्ड में किया गया बदलाव होता है. फ़ील्ड के लिए वैल्यू को अनसेट करने के लिए, FieldModification.unsetValues को True पर सेट करें.

अगर अनुरोध पूरा हो जाता है, तो जवाब के मुख्य हिस्से में, अनुरोध के ज़रिए जोड़े गए या अपडेट किए गए लेबल शामिल होते हैं. ये Label टाइप के modifiedLabels ऑब्जेक्ट में मौजूद होते हैं.

उदाहरण

नीचे दिए गए कोड के उदाहरण में, fieldId और labelId का इस्तेमाल करके, fileId से जुड़ी फ़ील्ड वैल्यू को हटाने का तरीका बताया गया है. उदाहरण के लिए, अगर किसी लेबल में टेक्स्ट और उपयोगकर्ता फ़ील्ड, दोनों शामिल हैं, तो टेक्स्ट फ़ील्ड को अनसेट करने से, वह लेबल से हट जाता है. हालांकि, उपयोगकर्ता फ़ील्ड पर इसका कोई असर नहीं पड़ता. वहीं, किसी लेबल को हटाने से, उससे जुड़े टेक्स्ट और उपयोगकर्ता फ़ील्ड, दोनों मिट जाते हैं. ज़्यादा जानकारी के लिए, किसी फ़ाइल से लेबल हटाना लेख पढ़ें.

Java

LabelFieldModification fieldModification =
  new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);

ModifyLabelsRequest modifyLabelsRequest =
  new ModifyLabelsRequest()
      .setLabelModifications(
          ImmutableList.of(
              new LabelModification()
                .setLabelId("LABEL_ID")
                .setFieldModifications(ImmutableList.of(fieldModification))));

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

Python

field_modification = {'fieldId':'FIELD_ID','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

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

Node.js

/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
  // 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 fieldModification = {
    'fieldId': 'FIELD_ID',
    'unsetValues': True,
  };
  const labelModification = {
    'labelId': 'LABEL_ID',
    'fieldModifications': [fieldModification],
  };
  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;
  }
}

इनकी जगह ये डालें:

  • FIELD_ID: बदलाव किए जाने वाले फ़ील्ड का fieldId. fieldId का पता लगाने के लिए, Google Drive Labels API का इस्तेमाल करके लेबल वापस पाएं.
  • LABEL_ID: बदलाव करने के लिए लेबल का labelId.
  • FILE_ID: यह उस फ़ाइल का fileId है जिसके लेबल में बदलाव किया गया है.