এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে একটি একক গুগল ড্রাইভ ফাইলে ‘ Field লেবেল সেট করতে হয়।
ফাইল লেবেল সেট করে কোনো ফাইলে মেটাডেটা যোগ করতে files.modifyLabels মেথডটি ব্যবহার করুন। ফাইলের লেবেল সেট পরিবর্তন করার জন্য রিকোয়েস্ট বডিতে ModifyLabelsRequest এর একটি ইনস্ট্যান্স থাকে। রিকোয়েস্টটিতে একাধিক পরিবর্তন থাকতে পারে যা অ্যাটমিকভাবে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনো পরিবর্তন বৈধ না হয়, তাহলে সম্পূর্ণ আপডেটটি অসফল হয় এবং (সম্ভাব্য নির্ভরশীল) কোনো পরিবর্তনই প্রয়োগ করা হয় না।
ModifyLabelsRequest এ LabelModification এর একটি ইনস্ট্যান্স থাকে, যা ফাইলের কোনো লেবেলের পরিবর্তন। এতে FieldModification এর একটি ইনস্ট্যান্সও থাকতে পারে, যা লেবেলের কোনো ফিল্ডের পরিবর্তন।
সফল হলে, রেসপন্স বডিতে অনুরোধের মাধ্যমে যোগ করা বা আপডেট করা লেবেলগুলো থাকে। এগুলো Label টাইপের একটি modifiedLabels অবজেক্টের মধ্যে বিদ্যমান থাকে।
উদাহরণ
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি ফাইলের টেক্সট ফিল্ডের fieldId ব্যবহার করে সেই Field জন্য একটি মান সেট করতে হয়। যখন একটি ফাইলে কোনো লেবেল Field প্রথমবার সেট করা হয়, তখন এটি ফাইলটিতে লেবেলটি প্রয়োগ করে। এরপর আপনি একটিমাত্র ফিল্ড আনসেট করতে পারেন অথবা লেবেলটির সাথে যুক্ত সমস্ত ফিল্ড মুছে ফেলতে পারেন। আরও তথ্যের জন্য, “Unset a label field on a file” এবং “Remove a label from a file” দেখুন।
জাভা
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();
পাইথন
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()
নোড.জেএস
/**
* 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।
নোট
- কোনো ফিল্ড ছাড়া লেবেল সেট করতে, কোনো
fieldModificationsউপস্থিত না রেখেlabelModificationsপ্রয়োগ করুন। - সিলেকশন ফিল্ড অপশনগুলির জন্য মান নির্ধারণ করতে, Drive Labels API থেকে লেবেল স্কিমা ফেচ করে প্রাপ্ত ভ্যালুটির
Choiceid ব্যবহার করুন। - শুধুমাত্র যে
Fieldভ্যালুর তালিকা সমর্থন করে, সেখানেই একাধিক ভ্যালু সেট করা যায়, অন্যথায় আপনি একটি400: Bad Requestএরর রেসপন্স পাবেন। - নির্বাচিত
Fieldজন্য সঠিক ভ্যালু টাইপ (যেমন ইন্টিজার, টেক্সট, ইউজার, ইত্যাদি) সেট করুন, অন্যথায় আপনি একটি400: Bad Requestএরর রেসপন্স পাবেন। আপনি ড্রাইভ লেবেল এপিআই (Drive Labels API) ব্যবহার করে ফিল্ডের ডেটা টাইপ জানতে পারবেন।