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