इस पेज पर, Google Drive की किसी फ़ाइल पर लेबल Field सेट करने का तरीका बताया गया है.
किसी फ़ाइल में मेटाडेटा जोड़ने के लिए, फ़ाइल का लेबल सेट करें. इसके लिए, files.modifyLabels तरीके का इस्तेमाल करें. अनुरोध के मुख्य हिस्से में, किसी फ़ाइल पर लेबल के सेट में बदलाव करने के लिए ModifyLabelsRequest का एक इंस्टेंस शामिल होता है. अनुरोध में कई बदलाव शामिल हो सकते हैं, जिन्हें एक साथ लागू किया जाता है. इसका मतलब है कि अगर कोई बदलाव मान्य नहीं है, तो पूरा अपडेट लागू नहीं होगा. साथ ही, (संभावित रूप से निर्भर) कोई भी बदलाव लागू नहीं होगा.
ModifyLabelsRequest में LabelModification का एक इंस्टेंस शामिल है. यह फ़ाइल के लेबल में किया गया बदलाव है. इसमें FieldModification का कोई इंस्टेंस भी शामिल हो सकता है. यह लेबल के फ़ील्ड में किया गया बदलाव होता है.
अगर अनुरोध पूरा हो जाता है, तो जवाब के मुख्य हिस्से में, अनुरोध के ज़रिए जोड़े गए या अपडेट किए गए लेबल शामिल होते हैं. ये Label टाइप के modifiedLabels ऑब्जेक्ट में मौजूद होते हैं.
उदाहरण
यहां दिए गए कोड के उदाहरण में बताया गया है कि किसी फ़ाइल में मौजूद Field के लिए वैल्यू सेट करने के लिए, टेक्स्ट फ़ील्ड के fieldId का इस्तेमाल कैसे किया जाता है. जब किसी फ़ाइल पर पहली बार कोई लेबल Field सेट किया जाता है, तो वह लेबल उस फ़ाइल पर लागू हो जाता है. इसके बाद, किसी एक फ़ील्ड से लेबल हटाया जा सकता है या लेबल से जुड़े सभी फ़ील्ड हटाए जा सकते हैं. ज़्यादा जानकारी के लिए, किसी फ़ाइल से लेबल फ़ील्ड को अनसेट करना और किसी फ़ाइल से लेबल हटाना लेख पढ़ें.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setFieldModifications(ImmutableList.of(fieldModification))));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
field_modification = {'fieldId':'FIELD_ID','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const fieldModification = {
'fieldId': 'FIELD_ID',
'setTextValues': ['VALUE'],
};
const labelModification = {
'labelId': 'LABEL_ID',
'fieldModifications': [fieldModification],
};
const labelModificationRequest = {
'labelModifications': [labelModification],
};
try {
const updateResponse = await service.files.modifyLabels({
fileId: 'FILE_ID',
resource: labelModificationRequest,
});
return updateResponse;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
इनकी जगह ये डालें:
- FIELD_ID: बदलाव किए जाने वाले फ़ील्ड का
fieldId.fieldIdका पता लगाने के लिए, Google Drive Labels API का इस्तेमाल करके लेबल पाएं. - VALUE: इस फ़ील्ड के लिए नया
value. - LABEL_ID: बदलाव करने के लिए लेबल का
labelId. - FILE_ID: यह उस फ़ाइल का
fileIdहै जिसके लेबल में बदलाव किया गया है.
नोट
- बिना फ़ील्ड वाला लेबल सेट करने के लिए,
labelModificationsलागू करें. इसमें कोईfieldModificationsमौजूद नहीं होना चाहिए. - चुने जाने वाले फ़ील्ड के विकल्पों के लिए वैल्यू सेट करने के लिए, वैल्यू के
Choiceआईडी का इस्तेमाल करें. यह आईडी, Drive Labels API में लेबल स्कीमा फ़ेच करके पाया जा सकता है. - सिर्फ़ ऐसे
Fieldके लिए एक से ज़्यादा वैल्यू सेट की जा सकती हैं जिनमें वैल्यू की सूचियां इस्तेमाल की जा सकती हैं. इसके अलावा, आपको400: Bad Requestगड़बड़ी का जवाब मिलेगा. - चुने गए
Fieldके लिए, वैल्यू का सही टाइप सेट करें. जैसे, पूर्णांक, टेक्स्ट, उपयोगकर्ता वगैरह. ऐसा न करने पर, आपको400: Bad Requestगड़बड़ी का रिस्पॉन्स मिलेगा. Drive Labels API का इस्तेमाल करके, फ़ील्ड के डेटा टाइप को वापस पाया जा सकता है.