এই পৃষ্ঠাটি বর্ণনা করে কিভাবে একটি একক Google ড্রাইভ ফাইলে একটি লেবেল Field সেট করতে হয়।
একটি ফাইল লেবেল সেট করে একটি ফাইলে মেটাডেটা যোগ করতে, files.modifyLabels পদ্ধতি ব্যবহার করুন। অনুরোধের বডিতে একটি ফাইলের লেবেলের সেট পরিবর্তন করার জন্য ModifyLabelsRequest এর একটি উদাহরণ রয়েছে। অনুরোধে বেশ কয়েকটি পরিবর্তন থাকতে পারে যা পারমাণবিকভাবে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনও পরিবর্তন বৈধ না হয়, তাহলে সম্পূর্ণ আপডেটটি ব্যর্থ হয় এবং (সম্ভাব্যভাবে নির্ভরশীল) কোনও পরিবর্তন প্রয়োগ করা হয় না।
ModifyLabelsRequest এ LabelModification এর একটি উদাহরণ রয়েছে যা একটি ফাইলের একটি লেবেলের পরিবর্তন। এতে FieldModification এর একটি উদাহরণও থাকতে পারে যা একটি লেবেলের ক্ষেত্রের পরিবর্তন।
যদি সফল হয়, তাহলে রেসপন্স বডিতে অনুরোধের মাধ্যমে যোগ করা বা আপডেট করা লেবেলগুলি থাকবে। এগুলি Label ধরণের একটি modifiedLabels অবজেক্টের মধ্যে বিদ্যমান।
উদাহরণ
নিচের কোড নমুনাটি দেখায় কিভাবে একটি টেক্সট ফিল্ডের fieldId ব্যবহার করে একটি ফাইলে এই Field জন্য একটি মান সেট করতে হয়। যখন একটি লেবেল Field প্রাথমিকভাবে একটি ফাইলে সেট করা হয়, তখন এটি ফাইলে লেবেলটি প্রয়োগ করে। এরপর আপনি একটি একক ফিল্ড আনসেট করতে পারেন অথবা লেবেলের সাথে সম্পর্কিত সমস্ত ফিল্ড অপসারণ করতে পারেন। আরও তথ্যের জন্য, একটি ফাইলে আনসেট একটি লেবেল ফিল্ড এবং একটি ফাইল থেকে একটি লেবেল সরান দেখুন।
জাভা
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প্রয়োগ করুন। - নির্বাচন ক্ষেত্র বিকল্পগুলির জন্য মান সেট করতে, ড্রাইভ লেবেল API- তে লেবেল স্কিমা আনার মাধ্যমে আপনি যে মানটি পেতে পারেন তার
Choiceআইডি ব্যবহার করুন। - শুধুমাত্র এমন একটি
Fieldযা মান তালিকা সমর্থন করে, সেখানে একাধিক মান সেট করা যেতে পারে, অন্যথায় আপনি400: Bad Requestত্রুটির প্রতিক্রিয়া পাবেন। - নির্বাচিত
Fieldজন্য সঠিক মান টাইপ সেট করুন (যেমন পূর্ণসংখ্যা, পাঠ্য, ব্যবহারকারী, ইত্যাদি), অন্যথায় আপনি একটি400: Bad Requestত্রুটি প্রতিক্রিয়া পাবেন। আপনি ড্রাইভ লেবেল API ব্যবহার করে ক্ষেত্রের ডেটা টাইপ পুনরুদ্ধার করতে পারেন।