इस पेज पर, Google Drive की एक फ़ाइल पर Field
लेबल को अनसेट करने का तरीका बताया गया है.
फ़ाइल लेबल अनसेट करके किसी फ़ाइल से मेटाडेटा हटाने के लिए, files.modifyLabels
तरीके का इस्तेमाल करें. अनुरोध के मुख्य हिस्से में, फ़ाइल पर लेबल के सेट में बदलाव करने के लिए, ModifyLabelsRequest
का एक इंस्टेंस होता है. इस अनुरोध में कई बदलाव शामिल हो सकते हैं
जो अपने-आप लागू होते हैं. इसका मतलब है कि अगर कोई बदलाव मान्य नहीं है, तो पूरा अपडेट पूरा नहीं होता और कोई भी (संभावित
बदलाव) बदलाव लागू नहीं होते.
ModifyLabelsRequest
में LabelModification
का एक इंस्टेंस होता है. यह किसी फ़ाइल के लेबल में किया गया बदलाव है. इसमें FieldModification
का एक इंस्टेंस भी शामिल हो सकता है, जो किसी लेबल फ़ील्ड में किया गया बदलाव है. फ़ील्ड की वैल्यू को सेट नहीं करने के लिए,
FieldModification.unsetValues
को True
पर सेट करें.
अगर अनुरोध सही पाया जाता है, तो जवाब के मुख्य हिस्से में, अनुरोध के ज़रिए जोड़े या अपडेट किए गए लेबल शामिल होते हैं. ये
Label
टाइप के modifiedLabels
ऑब्जेक्ट में मौजूद होते हैं.
उदाहरण
नीचे दिया गया कोड सैंपल, fileId
से जुड़े फ़ील्ड की वैल्यू को अनसेट करने के लिए, fieldId
और labelId
का इस्तेमाल करने का तरीका बताता है. उदाहरण के लिए, अगर किसी लेबल में टेक्स्ट और उपयोगकर्ता फ़ील्ड, दोनों शामिल हैं, तो टेक्स्ट फ़ील्ड को अनसेट करने से वह लेबल से हट जाएगा. हालांकि, उपयोगकर्ता फ़ील्ड में कोई बदलाव नहीं होगा. वहीं, किसी लेबल को हटाने से उस लेबल से जुड़े टेक्स्ट और उपयोगकर्ता फ़ील्ड दोनों मिट जाते हैं. ज़्यादा जानकारी के लिए, फ़ाइल से लेबल हटाना देखें.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);
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','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
// 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',
'unsetValues': True,
};
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 का इस्तेमाल करके लेबल को फिर से पाएं. - LABEL_ID: बदलाव किए जाने वाले लेबल का
labelId
. - FILE_ID: उस फ़ाइल का
fileId
जिसके लिए लेबल में बदलाव किए गए हैं.