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

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

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

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

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

उदाहरण

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

Java

LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));

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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

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

Node.js

/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
  // 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',
    'setTextValues': ['VALUE'],
  };
  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 का इस्तेमाल करके लेबल को फिर से पाएं.
  • VALUE: इस फ़ील्ड के लिए नया value.
  • LABEL_ID: बदलाव किए जाने वाले लेबल का labelId.
  • FILE_ID: उस फ़ाइल का fileId जिसके लिए लेबल में बदलाव किए गए हैं.

ज़रूरी जानकारी

  • बिना फ़ील्ड वाला लेबल सेट करने के लिए, बिना fieldModifications वाला labelModifications लागू करें.
  • चुनने के फ़ील्ड के विकल्पों की वैल्यू सेट करने के लिए, उस वैल्यू के Choice आईडी का इस्तेमाल करें जो आपको Drive Labels API में लेबल स्कीमा को फ़ेच करके मिल सकता है.
  • सिर्फ़ वैल्यू की सूचियों को सपोर्ट करने वाले Field में एक से ज़्यादा वैल्यू सेट की जा सकती हैं. ऐसा न करने पर, आपको गड़बड़ी का 400: Bad Request रिस्पॉन्स मिलेगा.
  • चुने गए Field के लिए सही वैल्यू टाइप सेट करें (जैसे कि पूर्णांक, टेक्स्ट, उपयोगकर्ता वगैरह). ऐसा न करने पर, आपको गड़बड़ी का 400: Bad Request रिस्पॉन्स मिलेगा. Drive Labels API का इस्तेमाल करके, फ़ील्ड का डेटा टाइप वापस पाया जा सकता है.