अपडेट करने के अनुरोधों का सेट लागू करके, किसी एक लेबल को अपडेट किया जा सकता है. इससे ड्राफ़्ट में नया बदलाव होता है. उदाहरण के लिए, किसी मौजूदा लेबल की प्रॉपर्टी (लेबल का ब्यौरा) अपडेट की जा सकती है. इसके अलावा, लेबल में कोई नया Field जोड़ा जा सकता है.
लेबल अपडेट करने की प्रोसेस, बैच अपडेट की तरह काम करती है. ऐसा इसलिए, क्योंकि यह अपडेट Request ऑब्जेक्ट की सूची लेता है. यह बैच अनुरोध में बताए गए क्रम के हिसाब से अपडेट करता है. बैच अपडेट में किए गए बदलाव, एक साथ लागू होते हैं. इसका मतलब है कि अगर बैच में मौजूद कोई अनुरोध पूरा नहीं होता है, तो पूरा अपडेट पूरा नहीं होगा. साथ ही, (संभावित तौर पर एक-दूसरे पर निर्भर) कोई भी बदलाव लागू नहीं होगा. लेबल में कोई बदलाव नहीं किया गया है.
अगर अपडेट हो जाता है, तो बदलावों को किसी Drive आइटम के साथ इस्तेमाल करने से पहले, ड्राफ़्ट के बदले गए वर्शन को पब्लिश करना होगा.
लेबल ऑब्जेक्ट अपडेट करना
लेबल में कई अन्य ऑब्जेक्ट टाइप शामिल होते हैं जिन्हें अपडेट किया जा सकता है. जैसे:
- लेबल की प्रॉपर्टी
- फ़ील्ड और फ़ील्ड टाइप
- चुने गए विकल्प और चुने गए विकल्प की प्रॉपर्टी
ये ऐसे कई ऑब्जेक्ट में से कुछ हैं जो लेबल के दिखने के तरीके और उसके काम करने के तरीके को कंट्रोल करते हैं.
कारोबार की कैटगरी
labels.delta तरीके से की जा सकने वाली इन कार्रवाइयों को इन मुख्य कैटगरी में ग्रुप किया जा सकता है:
| कैटगरी | ब्यौरा |
|---|---|
| बनाएं | ऑब्जेक्ट जोड़ें. |
| अपडेट करें | किसी ऑब्जेक्ट की कुछ प्रॉपर्टी अपडेट करें. |
| चालू करें | ऑब्जेक्ट चालू करें. |
| बंद करें | ऑब्जेक्ट बंद करें. |
| मिटाएं | ऑब्जेक्ट हटाएं. |
इन कैटगरी का इस्तेमाल अगले सेक्शन में, कुछ खास कार्रवाइयों के व्यवहार के बारे में बताने के लिए किया गया है.
अपडेट करने के अनुरोध
labels.delta तरीके में, एक या उससे ज़्यादा Request ऑब्जेक्ट लिए जाते हैं. इनमें से हर ऑब्जेक्ट, कार्रवाई करने के लिए एक तरह के अनुरोध के बारे में बताता है. अनुरोध कई तरह के होते हैं. यहां अलग-अलग कैटगरी में ग्रुप किए गए अनुरोधों के टाइप के बारे में जानकारी दी गई है.
| अनुरोध का टाइप | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| लेबल की प्रॉपर्टी |
|
||||||||||
| फ़ील्ड |
|
||||||||||
| चुने गए विकल्प |
|
||||||||||
फ़ील्ड मास्क
"अपडेट करें" और "बंद करें" टाइप के कई अनुरोधों के लिए, 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 करना ज़रूरी है. ज़्यादा जानकारी के लिए, लेबल का लाइफ़साइकल देखें.