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