গুগল শিটস এপিআই আপনাকে শিট তৈরি, খালি, কপি ও ডিলিট করার পাশাপাশি সেগুলোর প্রোপার্টিও নিয়ন্ত্রণ করতে দেয়। এই পৃষ্ঠার উদাহরণগুলোতে দেখানো হয়েছে, কীভাবে আপনি শিটস এপিআই ব্যবহার করে কিছু সাধারণ শিটস অপারেশন সম্পন্ন করতে পারেন।
ভাষা নিরপেক্ষতার জন্য এই উদাহরণগুলো HTTP অনুরোধ আকারে উপস্থাপন করা হয়েছে। গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ভাষায় কীভাবে ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, “স্প্রেডশিট আপডেট করুন” দেখুন।
এই উদাহরণগুলিতে, SPREADSHEET_ID এবং SHEET_ID প্লেসহোল্ডারগুলি নির্দেশ করে যে আপনি কোথায় সেই আইডিগুলি প্রদান করবেন। আপনি স্প্রেডশিট URL-এ স্প্রেডশিট আইডি খুঁজে পেতে পারেন। আপনি spreadsheets.get মেথড ব্যবহার করে শীট আইডি পেতে পারেন। রেঞ্জগুলি A1 নোটেশন ব্যবহার করে নির্দিষ্ট করা হয়। একটি উদাহরণ রেঞ্জ হল Sheet1!A1:D5।
একটি শীট যোগ করুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে AddSheetRequest ব্যবহার করে একটি স্প্রেডশীটে একটি শীট যোগ করা যায় এবং একই সাথে শিরোনাম, গ্রিড আকার এবং ট্যাবের রঙ সেট করা যায়।
প্রতিক্রিয়াটিতে একটি AddSheetResponse থাকে, যার মধ্যে তৈরি করা শীটটির বৈশিষ্ট্যসহ (যেমন এর SHEET_ID ) একটি অবজেক্ট থাকে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"addSheet": {
"properties": {
"title": "Deposits",
"gridProperties": {
"rowCount": 20,
"columnCount": 12
},
"tabColor": {
"red": 1.0,
"green": 0.3,
"blue": 0.4
}
}
}
}
]
}ফরম্যাট অক্ষুণ্ণ রেখে একটি শীট থেকে সমস্ত মান মুছে ফেলুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে ফরম্যাটিং অপরিবর্তিত রেখে একটি শীট থেকে সমস্ত মান মুছে ফেলার জন্য UpdateCellsRequest ব্যবহার করতে হয়।
সংশ্লিষ্ট কোনো মান ছাড়া userEnteredValue ফিল্ডটি নির্দিষ্ট করলে, তা রেঞ্জের মানগুলো মুছে ফেলার নির্দেশ হিসেবে গণ্য হয়। এই সেটিংটি অন্যান্য ফিল্ডের ক্ষেত্রেও ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, fields মান userEnteredFormat এ পরিবর্তন করলে শীট থেকে Sheets API দ্বারা সমর্থিত সমস্ত ফরম্যাটিং মুছে যায়, কিন্তু সেলের মান অপরিবর্তিত থাকে।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}একটি স্প্রেডশীট থেকে অন্য স্প্রেডশীটে একটি শীট কপি করুন
নিম্নলিখিত spreadsheet.sheets.copyTo কোড নমুনাটি দেখায় কিভাবে SHEET_ID দ্বারা নির্দিষ্ট একটি একক শীট এক স্প্রেডশীট থেকে অন্য স্প্রেডশীটে কপি করতে হয়।
রিকোয়েস্ট বডিতে থাকা TARGET_SPREADSHEET_ID ভ্যারিয়েবলটি গন্তব্য স্প্রেডশীট নির্দিষ্ট করে। কপিটিতে মূল শীটের সমস্ত মান, ফরম্যাটিং, ফর্মুলা এবং অন্যান্য বৈশিষ্ট্য অক্ষুণ্ণ থাকে। কপি করা শীটের শিরোনাম "[মূল শীটের শিরোনাম]-এর কপি" হিসেবে সেট করা হয়।
প্রতিক্রিয়াটিতে একটি SheetProperties অবজেক্ট থাকে, যা তৈরি করা শীটটির বৈশিষ্ট্যগুলো বর্ণনা করে।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}একটি শীট মুছে ফেলুন
নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে SHEET_ID দ্বারা নির্দিষ্ট একটি শীট মুছে ফেলার জন্য DeleteSheetRequest ব্যবহার করতে হয়।
অনুরোধ প্রোটোকলটি নিচে দেখানো হলো।
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}শীট ডেটা পড়ুন
নিম্নলিখিত spreadsheets.get কোড নমুনাটি দেখায় কিভাবে একটি স্প্রেডশীট থেকে শীট প্রপার্টির তথ্য পাওয়া যায়, যা SHEET_ID এবং SPREADSHEET_ID দ্বারা নির্দিষ্ট করা হয়। এই পদ্ধতিটি প্রায়শই একটি নির্দিষ্ট স্প্রেডশীটের মধ্যে থাকা শীটগুলির মেটাডেটা নির্ধারণ করতে ব্যবহৃত হয়, যাতে অতিরিক্ত অপারেশনগুলি সেই শীটগুলিকে লক্ষ্য করতে পারে। fields কোয়েরি প্যারামিটারটি নির্দিষ্ট করে যে শুধুমাত্র শীট প্রপার্টির ডেটা ফেরত দেওয়া হবে (সেল ভ্যালু ডেটা বা সম্পূর্ণ স্প্রেডশীট সম্পর্কিত ডেটার পরিবর্তে)।
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties রেসপন্সটিতে একটি Spreadsheet রিসোর্স থাকে, যার মধ্যে SheetProperties এলিমেন্টসহ একটি Sheet অবজেক্ট থাকে। যদি কোনো নির্দিষ্ট রেসপন্স ফিল্ড ডিফল্ট ভ্যালুতে সেট করা থাকে, তবে সেটি রেসপন্স থেকে বাদ দেওয়া হয়।
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}