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