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