इस दस्तावेज़ में, Google Drive Labels API का इस्तेमाल करके लेबल बनाने और उन्हें पब्लिश करने का तरीका बताया गया है.
लेबल बनाएं
लेबल बनाने के लिए, labels संसाधन पर create तरीके का इस्तेमाल करें.
लेबल में एक या उससे ज़्यादा Field ऑब्जेक्ट शामिल किए जा सकते हैं. हालांकि, ऐसा करना ज़रूरी नहीं है.
आपको यह भी बताना होगा कि:
LabelTypeऑब्जेक्ट.Propertiesऑब्जेक्ट के ज़रिए, लेबलtitle.उपयोगकर्ता के एडमिन क्रेडेंशियल का इस्तेमाल करने के लिए,
useAdminAccessक्वेरी पैरामीटर कोtrueपर सेट किया जाता है. ऐक्सेस देने से पहले, सर्वर यह पुष्टि करता है कि उपयोगकर्ता के पास, एडमिन के लिए ज़रूरी क्लासिफ़िकेशन लेबल मैनेज करें की अनुमतियां हैं.
यहां दिए गए कोड सैंपल में, create तरीके का इस्तेमाल करके, स्टैंडर्ड एडमिन लेबल बनाने का तरीका बताया गया है. इसमें तय किया गया टाइटल और दो Choice ऑब्जेक्ट के साथ एक SelectionOptions
Field शामिल है.
Python
label_body = {
'labelType': 'ADMIN',
'properties': {
'title': 'TITLE'
},
'fields': [{
'properties': {
'displayName': 'DISPLAY_NAME'
},
'selectionOptions': {
'listOptions': {},
'choices': [{
'properties': {
'displayName': 'CHOICE_1'
}
}, {
'properties': {
'displayName': 'CHOICE_2'
}
}]
}
}]
}
response = service.labels().create(
body=label_body, useAdminAccess=True).execute()
Node.js
var label = {
'labelType': 'ADMIN',
'properties': {
'title': 'TITLE'
},
'fields': [{
'properties': {
'displayName': 'DISPLAY_NAME'
},
'selectionOptions': {
'listOptions': {},
'choices': [{
'properties': {
'displayName': 'CHOICE_1'
}
}, {
'properties': {
'displayName': 'CHOICE_2'
}
}]
}
}]
};
service.labels.create({
requestBody: label,
useAdminAccess: true
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
इनकी जगह ये डालें:
- TITLE: लेबल का टाइटल.
- DISPLAY_NAME: फ़ील्ड का डिसप्ले नेम.
- CHOICE_1:
SelectionOptionsफ़ील्ड में पहली पसंद. - CHOICE_2:
SelectionOptionsफ़ील्ड में दूसरी पसंद.
यह लेबल UNPUBLISHED_DRAFT
State में बनाया गया है. लेबल को PUBLISHED होना चाहिए, ताकि वह लोगों को दिखे और फ़ाइलों पर इस्तेमाल किया जा सके. ज़्यादा जानकारी के लिए, लेबल का लाइफ़साइकल देखें.
लेबल की सीमाएं
लेबल बनाने और लागू करने के लिए, ये सीमाएं लागू होती हैं:
- स्टैंडर्ड लेबल: 150
- हर लेबल के लिए फ़ील्ड: 10
लेबल में मौजूद फ़ील्ड के साथ काम करना
यहां दी गई टेबल में, लेबल में जोड़े जा सकने वाले फ़ील्ड के टाइप के बारे में बताया गया है. साथ ही, यह भी बताया गया है कि उपयोगकर्ता उनसे कैसे इंटरैक्ट करते हैं. इसके अलावा, उनके फ़ॉर्मैट से जुड़ी बातों और सीमाओं के बारे में भी बताया गया है:
Field Type |
उपयोगकर्ता क्या-क्या कर सकते हैं | फ़ॉर्मैट से जुड़ी ज़रूरी बातें और सीमाएं |
|---|---|---|
SelectionOptions |
सूची में से एक या उससे ज़्यादा विकल्प चुनें | ज़्यादा से ज़्यादा 200 विकल्प चुने जा सकते हैंListOptions में कॉन्फ़िगर किए गए फ़ाइल के लिए, ज़्यादा से ज़्यादा 10 विकल्प चुने जा सकते हैं |
IntegerOptions |
कोई संख्या डालें | सिर्फ़ पूर्ण संख्याओं का इस्तेमाल किया जा सकता है |
DateOptions |
कैलेंडर में कोई तारीख चुनना | (ज़रूरी नहीं) DateFormat को "Long: DD Month, YYYY" या "Short: MM/DD/YY" पर सेट किया जा सकता है |
TextOptions |
टेक्स्ट बॉक्स में टेक्स्ट डालना | ज़्यादा से ज़्यादा 100 वर्ण इस्तेमाल किए जा सकते हैं |
UserOptions |
Google Workspace के संपर्कों में से एक या एक से ज़्यादा उपयोगकर्ता चुनें. | किसी फ़ाइल के लिए, उपयोगकर्ता की ज़्यादा से ज़्यादा 10 एंट्री हो सकती हैं. यह संख्या ListOptions में कॉन्फ़िगर की गई है |
लेबल पब्लिश करना
Drive Labels API की मदद से, ड्राफ़्ट किए गए लेबल को पूरा होने के बाद पब्लिश किया जा सकता है. इसके बाद, यह लेबल लोगों को दिखता है और इसे फ़ाइलों पर लागू किया जा सकता है.
किसी लेबल को पब्लिश करने के लिए, labels रिसॉर्स पर publish तरीके का इस्तेमाल करें. साथ ही, यह जानकारी दें:
labelsसंसाधन, जो हर लेबल को दिखाता है. इसमें एक संसाधनnameऔर एकid> होता है. यह लेबल के लिए, दुनिया भर में मान्य यूनीक आइडेंटिफ़ायर होता है.उपयोगकर्ता के एडमिन क्रेडेंशियल का इस्तेमाल करने के लिए,
useAdminAccessक्वेरी पैरामीटर कोtrueपर सेट किया जाता है. ऐक्सेस देने से पहले, सर्वर यह पुष्टि करता है कि उपयोगकर्ता के पास, एडमिन के लिए ज़रूरी क्लासिफ़िकेशन लेबल मैनेज करें की अनुमतियां हैं.
यहां दिए गए कोड सैंपल में, लेबल के id का इस्तेमाल करके सही लेबल की पहचान करने और उसे पब्लिश करने का तरीका बताया गया है.
Python
service.labels().publish(
name='labels/ID',
body={
'useAdminAccess': True
}
).execute()
Node.js
service.labels.publish({
name: 'labels/ID',
requestBody: {
useAdminAccess: true
}
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
ID को उस लेबल के आईडी से बदलें जिसे पब्लिश करना है.
लेबल पब्लिश होने के बाद, वह PUBLISHED
State पर चला जाता है. साथ ही, लेबल के वर्शन आईडी में बढ़ोतरी हो जाती है. इसके बाद, यह लेबल उपयोगकर्ताओं को दिखता है और इसे फ़ाइलों पर लागू किया जा सकता है. ज़्यादा जानकारी के लिए, लेबल का लाइफ़साइकल देखें.
लेबल पब्लिश करते समय आने वाली समस्याएं
लेबल पब्लिश करने से पहले, इन बातों का ध्यान रखें:
पब्लिश होने के बाद, किसी लेबल को वापस ड्राफ़्ट के तौर पर सेव नहीं किया जा सकता. ज़्यादा जानकारी के लिए, लेबल का लाइफ़साइकल देखें.
लेबल पब्लिश करने पर, पब्लिश किया गया नया वर्शन बन जाता है. ड्राफ़्ट के पिछले सभी वर्शन मिटा दिए जाते हैं. पहले पब्लिश किए गए बदलावों को सेव रखा जाता है. हालांकि, ज़रूरत पड़ने पर उन्हें अपने-आप मिटा दिया जाता है.
पब्लिश करने के बाद, कुछ बदलावों की अनुमति नहीं दी जाती. आम तौर पर, इसका मतलब है कि लेबल से जुड़े मौजूदा मेटाडेटा में ऐसा कोई भी बदलाव अस्वीकार कर दिया जाता है जिससे वह अमान्य हो जाता है या उस पर नई पाबंदियां लग जाती हैं. उदाहरण के लिए, लेबल पब्लिश होने के बाद, लेबल में ये बदलाव नहीं किए जा सकते:
- लेबल को सीधे तौर पर मिटा दिया जाता है. (इसे पहले बंद करना होगा. इसके बाद, इसे मिटाया जा सकता है.)
Field.FieldTypeमें बदलाव किया गया है.Fieldपुष्टि करने के विकल्पों में हुए अपडेट की वजह से, पहले स्वीकार की गई किसी चीज़ को अस्वीकार कर दिया गया हो.- ज़्यादा से ज़्यादा एंट्री की संख्या में कमी.