लेबल अपडेट करना

अपडेट के अनुरोधों का सेट लागू करके, किसी एक लेबल को अपडेट किया जा सकता है. इसके लिए, आपको एक नया ड्राफ़्ट बदलाव करना होगा. उदाहरण के लिए, किसी मौजूदा लेबल प्रॉपर्टी (लेबल का ब्यौरा) को अपडेट किया जा सकता है या लेबल में नई Field जोड़ी जा सकती है.

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

अगर अपडेट पूरा हो जाता है, तो बदलावों को Drive में मौजूद किसी भी आइटम के साथ इस्तेमाल करने से पहले, ड्राफ़्ट में किए गए बदलाव को पब्लिश करना होगा.

लेबल ऑब्जेक्ट अपडेट करें

लेबल में कई दूसरे ऑब्जेक्ट टाइप शामिल होते हैं, जिन्हें अपडेट किया जा सकता है, जैसे:

  • लेबल प्रॉपर्टी
  • फ़ील्ड और फ़ील्ड टाइप
  • चुनने के विकल्प और चुनने के लिए विकल्प वाली प्रॉपर्टी

ये कुछ ऐसे ऑब्जेक्ट हैं जो किसी लेबल के दिखने और काम करने को कंट्रोल करते हैं.

कार्रवाई की कैटगरी

labels.delta तरीके से काम करने वाले इन ऑपरेशन को इन बड़ी कैटगरी में बांटा जा सकता है:

कैटगरी ब्यौरा
बनाएंऑब्जेक्ट जोड़ें.
अपडेट करेंकिसी ऑब्जेक्ट की कुछ प्रॉपर्टी अपडेट करना.
चालू करेंऑब्जेक्ट चालू करें.
बंद करेंऑब्जेक्ट बंद करें.
मिटाएंऑब्जेक्ट हटाएं.

अगले सेक्शन में इन कैटगरी का इस्तेमाल करके, खास कार्रवाइयों के बारे में जानकारी दी गई है.

अनुरोध अपडेट करें

labels.delta वाला तरीका, एक या उससे ज़्यादा अनुरोध ऑब्जेक्ट को लेकर काम करता है. हर ऑब्जेक्ट, एक तरह के अनुरोध के बारे में बताता है. अनुरोध कई तरह के होते हैं. यहां अलग-अलग कैटगरी में बांटे गए, अलग-अलग तरह के अनुरोधों के बारे में ज़्यादा जानकारी दी गई है.

अनुरोध का टाइप
लेबल प्रॉपर्टी
अपडेट करें UpdateLabelPropertiesRequest
फ़ील्ड
बनाएं CreateFieldRequest
अपडेट करें UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
चालू करें EnableFieldRequest
बंद करें DisableFieldRequest
मिटाएं DeleteFieldRequest
चुनने का विकल्प
बनाएं CreateSelectionChoiceRequest
अपडेट करें UpdateSelectionChoicePropertiesRequest
चालू करें EnableSelectionChoiceRequest
बंद करें DisableSelectionChoiceRequest
मिटाएं DeleteSelectionChoiceRequest

फ़ील्ड मास्क

"अपडेट करें" और "बंद करें" जैसे कई अनुरोधों के लिए, FieldMask की ज़रूरत होती है. यह उन फ़ील्ड की कॉमा-डीलिमिटेड सूची है जिन्हें आपको बाकी फ़ील्ड में बिना बदलाव के, अपडेट करना है. मास्क यह पक्का करना ज़रूरी है कि सिर्फ़ उन फ़ील्ड को अपडेट किया गया हो जिनमें बदलाव करना है. आपको कम से कम एक फ़ील्ड के बारे में बताना होगा.

उदाहरण

लेबल को अपडेट करने के लिए, labels कलेक्शन में दिए गए delta तरीके का इस्तेमाल करें.

आपको यह भी बताना होगा:

  • उपयोगकर्ता के एडमिन क्रेडेंशियल का इस्तेमाल करने के लिए, useAdminAccess true है. ऐक्सेस देने से पहले सर्वर इस बात की पुष्टि करता है कि उपयोगकर्ता, लेबल का एडमिन है.

  • ऐसा Request जो लेबल में लागू होने वाले अपडेट के बारे में बताता है.

  • property तरीके का इस्तेमाल करके बनाया गया title लेबल.

  • एक या एक से ज़्यादा Field.

  • एक लेबल रिसॉर्स, जो हर लेबल के बारे में बताता है. इसमें एक रिसॉर्स Name और ID होता है, जो लेबल के लिए दुनिया भर में इस्तेमाल होने वाला यूनीक आइडेंटिफ़ायर होता है.

  • लेबल रिस्पॉन्स पर लागू होने वाले रिसॉर्स व्यू को सेट करने के लिए, LabelViewLABEL_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);
});

लेबल, फ़ील्ड या विकल्प को अपडेट किया जाता है, लेबल के रीविज़न आईडी को बढ़ाया जाता है, और लेबल को डेटाबेस में ड्राफ़्ट लेबल के तौर पर सेव किया जाता है. लेबल में, PUBLISHED का State है और hasUnpublishedChanges=true का मतलब है कि बदलाव ड्राफ़्ट में हैं, लेकिन वे उपयोगकर्ताओं के लिए उपलब्ध नहीं हैं. उपयोगकर्ताओं को बदलाव दिखने से पहले, अपडेट किया गया लेबल PUBLISHED होना चाहिए. ज़्यादा जानकारी के लिए, लेबल लाइफ़साइकल देखें.