ফিল্ড মাস্ক হল API কলারদের জন্য একটি উপায় যেখানে তারা কোন ফিল্ডগুলি ফেরত পাঠানো বা আপডেট করা উচিত তা তালিকাভুক্ত করে। FieldMask ব্যবহার করলে API অপ্রয়োজনীয় কাজ এড়াতে পারে এবং কর্মক্ষমতা উন্নত করে। Google Sheets API-তে পঠন এবং আপডেট উভয় পদ্ধতির জন্য একটি ফিল্ড মাস্ক ব্যবহার করা হয়।
ফিল্ড মাস্ক পরে পড়ুন
স্প্রেডশিটগুলি বড় হতে পারে এবং প্রায়শই আপনার Spreadsheet রিসোর্সের প্রতিটি অংশ পঠনের অনুরোধের মাধ্যমে ফেরত দেওয়ার প্রয়োজন হয় না। আপনি fields URL প্যারামিটার ব্যবহার করে Sheets API প্রতিক্রিয়ায় কী ফেরত দেওয়া হয়েছে তা সীমাবদ্ধ করতে পারেন। সেরা পারফরম্যান্সের জন্য, উত্তরে আপনার প্রয়োজনীয় ক্ষেত্রগুলি স্পষ্টভাবে তালিকাভুক্ত করুন ।
ফিল্ডস প্যারামিটারের ফর্ম্যাটটি FieldMask এর JSON এনকোডিংয়ের মতোই। সংক্ষেপে বলতে গেলে, একাধিক ভিন্ন ফিল্ড কমা দ্বারা পৃথক করা হয় এবং সাবফিল্ডগুলি ডট-বিচ্ছিন্ন করা হয়। ফিল্ডের নাম camelCase অথবা separated_by_underscores এ উল্লেখ করা যেতে পারে। সুবিধার জন্য, একই ধরণের একাধিক সাবফিল্ড বন্ধনীর মধ্যে তালিকাভুক্ত করা যেতে পারে।
নিম্নলিখিত spreadsheets.get অনুরোধের উদাহরণটি sheets.properties(sheetId,title,sheetType,gridProperties) এর একটি ফিল্ড মাস্ক ব্যবহার করে একটি স্প্রেডশিটের সমস্ত শিটে SheetProperties অবজেক্টের শুধুমাত্র শীট ID, title, SheetType এবং GridProperties আনতে পারে:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties(sheetId,title,sheetType,gridProperties)
এই মেথড কলের প্রতিক্রিয়া হল একটি Spreadsheet অবজেক্ট যার মধ্যে ফিল্ড মাস্কে অনুরোধ করা উপাদানগুলি রয়েছে। মনে রাখবেন যে sheetType=OBJECT gridProperties নেই:
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID,
"title": "TITLE",
"sheetType": "GRID",
"gridProperties": {
"rowCount": 1000,
"columnCount": 25
}
}
},
{
"properties": {
"sheetId": SHEET_ID,
"title": "TITLE",
"sheetType": "OBJECT"
}
}
]
}ফিল্ড মাস্ক দিয়ে আপডেট করুন
কখনও কখনও আপনাকে একটি অবজেক্টের মধ্যে শুধুমাত্র নির্দিষ্ট কিছু ক্ষেত্র আপডেট করতে হবে এবং অন্যান্য ক্ষেত্রগুলি অপরিবর্তিত রাখতে হবে। spreadsheets.batchUpdate অপারেশনের ভিতরে আপডেট অনুরোধগুলি ফিল্ড মাস্ক ব্যবহার করে API কে জানাতে পারে যে কোন ক্ষেত্রগুলি পরিবর্তন করা হচ্ছে। আপডেট অনুরোধটি ফিল্ড মাস্কে নির্দিষ্ট না থাকা যেকোনো ক্ষেত্রকে উপেক্ষা করে, তাদের বর্তমান মানগুলি রেখে দেয়।
আপনি আপডেট করা বার্তায় কোনও ক্ষেত্র নির্দিষ্ট না করে, মাস্কে ক্ষেত্রটি যুক্ত করেও এটি আনসেট করতে পারেন। এটি ক্ষেত্রটির পূর্বে যে মান ছিল তা সাফ করে।
আপডেট ফিল্ড মাস্কের সিনট্যাক্স রিড ফিল্ড মাস্কের মতোই।
নিচের উদাহরণে AddSheetRequest ব্যবহার করে Grid ধরণের একটি নতুন শীট যোগ করা হয়েছে, প্রথম সারিটি ফ্রিজ করা হয়েছে এবং নতুন শীটের ট্যাবটি লাল রঙ করা হয়েছে:
POST https://sheets.googleapis.com/v1/spreadsheets/spreadsheetId:batchUpdate
{
"spreadsheetId": "SPREADSHEET_ID",
"replies": [
{
"addSheet": {
"properties": {
"sheetId": SHEET_ID,
"title": "TITLE",
"index": 6,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 1000,
"columnCount": 26,
"frozenRowCount": 1
},
"tabColor": {
"red": 0.003921569
},
"tabColorStyle": {
"rgbColor": {
"red": 0.003921569
}
}
}
}
}
]
}