এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে একটি একক গুগল ড্রাইভ ফাইলে ' Field লেবেলটি আনসেট করতে হয়।
ফাইলের লেবেল আনসেট করে কোনো ফাইল থেকে মেটাডেটা মুছে ফেলার জন্য files.modifyLabels মেথডটি ব্যবহার করুন। ফাইলের লেবেল সেট পরিবর্তন করার জন্য রিকোয়েস্ট বডিতে ModifyLabelsRequest এর একটি ইনস্ট্যান্স থাকে। রিকোয়েস্টটিতে একাধিক পরিবর্তন থাকতে পারে যা অ্যাটমিকভাবে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনো পরিবর্তন বৈধ না হয়, তাহলে সম্পূর্ণ আপডেটটি অসফল হয় এবং (সম্ভাব্য নির্ভরশীল) কোনো পরিবর্তনই প্রয়োগ করা হয় না।
ModifyLabelsRequest এ LabelModification এর একটি ইনস্ট্যান্স থাকে, যা ফাইলের কোনো লেবেলের একটি পরিবর্তন। এতে FieldModification এর একটি ইনস্ট্যান্সও থাকতে পারে, যা লেবেলের কোনো ফিল্ডের একটি পরিবর্তন। ফিল্ডের মানগুলো অনির্ধারিত করতে, FieldModification.unsetValues True তে সেট করুন।
সফল হলে, রেসপন্স বডিতে অনুরোধের মাধ্যমে যোগ করা বা আপডেট করা লেবেলগুলো থাকে। এগুলো Label টাইপের একটি modifiedLabels অবজেক্টের মধ্যে বিদ্যমান থাকে।
উদাহরণ
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে সংশ্লিষ্ট fileId এর ফিল্ড ভ্যালুগুলো আনসেট করতে fieldId এবং labelId ব্যবহার করতে হয়। উদাহরণস্বরূপ, যদি একটি লেবেলে টেক্সট এবং ইউজার উভয় ফিল্ড থাকে, তাহলে টেক্সট ফিল্ডটি আনসেট করলে তা লেবেল থেকে মুছে যায় কিন্তু ইউজার ফিল্ডটি অপরিবর্তিত থাকে। অন্যদিকে, একটি লেবেল রিমুভ করলে সেই লেবেলের সাথে যুক্ত টেক্সট এবং ইউজার উভয় ফিল্ডই ডিলিট হয়ে যায়। আরও তথ্যের জন্য, “Remove a label from a file” দেখুন।
জাভা
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();
পাইথন
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();
নোড.জেএস
/**
* 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।