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

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

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

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

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

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

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

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

कारोबार की कैटगरी

labels.delta तरीके से किए जा सकने वाले इन ऑपरेशनों को इन मुख्य कैटगरी में ग्रुप किया जा सकता है:

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

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

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

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

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

फ़ील्ड मास्क

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

का इस्तेमाल न करें.

उदाहरण

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

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

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

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

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

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

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

  • LabelView, लेबल के जवाबों पर लागू की गई संसाधन की जानकारी देखने की सुविधा को सेट करने के लिए LABEL_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 करना ज़रूरी है. ज़्यादा जानकारी के लिए, लेबल का लाइफ़साइकल देखें.