যদি আপনার কাছে Google Sheets API v3 ভিত্তিক অ্যাপ থাকে, তাহলে আপনি Google Sheets API v4 তে মাইগ্রেট করতে পারেন। v4 সংস্করণটি JSON-ভিত্তিক, একটি সহজে ব্যবহারযোগ্য ইন্টারফেস রয়েছে এবং এতে প্রচুর কার্যকারিতা যোগ করা হয়েছে যা v3 সংস্করণে সম্ভব নয়।
এই পৃষ্ঠাটি Sheets API v3 কমান্ড এবং Sheets API v4-এ তাদের সমতুল্য ক্রিয়াকলাপগুলির মধ্যে একটি ম্যাপিং প্রদান করে। ম্যাপিং মূলত spreadsheets.values সংগ্রহের উপর ফোকাস করে, যা সরাসরি সেল পঠন এবং লেখার কার্যকারিতা প্রদান করে। অন্যান্য দিক, যেমন শীট যোগ করা বা শীট বৈশিষ্ট্য আপডেট করা স্প্রেডশিট সংগ্রহ দ্বারা পরিচালিত হয়। মনে রাখবেন যে v4 API-এর JSON কাঠামো v3-তে ব্যবহৃত XML কাঠামোর সাথে সামঞ্জস্যপূর্ণ নয়।
Sheets v4 API-তে উপলব্ধ রিসোর্স সম্পর্কে আরও তথ্যের জন্য, API রেফারেন্স দেখুন।
স্বরলিপি এবং পদ
v3 API একটি নির্দিষ্ট স্প্রেডশিটের মধ্যে থাকা শিটগুলিকে "ওয়ার্কশিট" হিসাবে উল্লেখ করে। এটি v4 API ব্যবহার করে এমন "শিট" শব্দটির সমার্থক।
API গুলির ক্ষেত্রে প্রায়শই আপনার কাজ করা স্প্রেডশিটের একটি স্প্রেডশিট আইডি নির্দিষ্ট করতে হয়। এছাড়াও, যে শিটটি ম্যানিপুলেট করা হচ্ছে তার আইডিও প্রয়োজন হয়। এই মানগুলি API এন্ডপয়েন্ট URL এর অংশ হিসেবে, কোয়েরি প্যারামিটার হিসেবে অথবা রিকোয়েস্ট বডির অংশ হিসেবে প্রদর্শিত হয়। এই পৃষ্ঠায়, spreadsheetId এবং sheetId স্থানধারক যথাক্রমে স্প্রেডশিট এবং শিট আইডি উল্লেখ করে। এই পৃষ্ঠায় বর্ণিত পদ্ধতিগুলি ব্যবহার করার সময়, এই অবস্থানগুলিতে প্রকৃত আইডিগুলি প্রতিস্থাপন করুন।
v3 API তার তালিকা ফিড ব্যবহার করে পুনরুদ্ধার করা সারিগুলিতে একটি আইডিও বরাদ্দ করে; এটি এই পৃষ্ঠায় rowId প্লেসহোল্ডার দ্বারা প্রতিনিধিত্ব করা হয়।
অনুরোধ অনুমোদন করুন
যখন আপনার অ্যাপটি চলে, তখন এটি ব্যবহারকারীদের নির্দিষ্ট কিছু অনুমতি দিতে বলে; আপনার অ্যাপ্লিকেশনে আপনি যে স্কোপগুলি নির্দিষ্ট করেন তা নির্ধারণ করে যে এটি কোন অনুমতিগুলির জন্য অনুরোধ করে।
v3 API
Sheets API v3 একটি একক অনুমোদন সুযোগের সাথে কাজ করে:
https://spreadsheets.google.com/feeds
যা এর একটি উপনাম
https://www.googleapis.com/auth/spreadsheets
যেকোনো স্কোপ ফর্ম্যাট ব্যবহার করা যেতে পারে।
v4 এপিআই
Sheets API v4 নিম্নলিখিত এক বা একাধিক স্কোপ সেট ব্যবহার করে:
https://www.googleapis.com/auth/spreadsheets.readonly https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/drive
যদি আপনার অ্যাপ্লিকেশনটির ব্যবহারকারীর শিট বা শিট বৈশিষ্ট্যগুলিতে সম্পাদনা করার প্রয়োজন না হয় তবে কেবল পঠনযোগ্য স্কোপ ব্যবহার করুন। যদি অ্যাপ্লিকেশনটির সাধারণ ড্রাইভ অ্যাক্সেসের প্রয়োজন না হয় তবে ড্রাইভ স্কোপের পরিবর্তে স্প্রেডশিট স্কোপ ব্যবহার করুন।
দৃশ্যমানতা
API-এর পুরোনো সংস্করণগুলিতে, দৃশ্যমানতা শব্দটি একটি প্রদত্ত স্প্রেডশিটের প্রাপ্যতা বোঝাতে ব্যবহৃত হয়।
v3 API
শীটস এপিআই v3 সরাসরি তার এন্ডপয়েন্টে দৃশ্যমানতা প্রকাশ করে। একটি public স্প্রেডশিট "ওয়েবে প্রকাশিত" করা হয়েছে এবং তাই অনুমোদন ছাড়াই API দ্বারা অ্যাক্সেস করা যেতে পারে, যখন একটি private স্প্রেডশিটের জন্য প্রমাণীকরণের প্রয়োজন হয়। স্প্রেডশিট আইডির পরে এন্ডপয়েন্টে দৃশ্যমানতা নির্দিষ্ট করা আছে:
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
v4 এপিআই
নতুন Sheets API v4-তে, দৃশ্যমানতার কোনও স্পষ্ট ঘোষণা নেই। API কলগুলি স্প্রেডশিট আইডি ব্যবহার করে করা হয়। যদি অ্যাপ্লিকেশনটির নির্দিষ্ট স্প্রেডশিট অ্যাক্সেস করার অনুমতি না থাকে, তাহলে একটি ত্রুটি দেখা যাবে। অন্যথায় কলটি এগিয়ে যাবে।
অভিক্ষেপ
" প্রজেকশন" শব্দটি Sheets API v3 দ্বারা ব্যবহৃত হয়, যা একটি নির্দিষ্ট API কল দ্বারা ফেরত পাঠানো ডেটার সেটকে বোঝায়—হয় পুরোটাই, অথবা API-এর মধ্যে সংজ্ঞায়িত একটি নির্দিষ্ট উপসেট। Sheets API v4 প্রজেকশন ব্যবহার করে না; বরং, এটি আপনাকে কোন ডেটা ফেরত দেওয়া হবে তার উপর আরও নিয়ন্ত্রণের সুযোগ দেয়।
v3 API
Sheets API v3 তে মাত্র দুটি সম্ভাব্য প্রজেকশন সেটিংস রয়েছে। full প্রজেকশন সমস্ত উপলব্ধ তথ্য ফেরত দেয়, যেখানে basic একটি ছোট, স্থির উপসেট ডেটা ফেরত দেয় (ওয়ার্কশিট, তালিকা এবং কোষ ফিডের জন্য)। দৃশ্যমানতার মতো, প্রজেকশনটি API এন্ডপয়েন্টে (দৃশ্যমানতা সেটিং এর পরে) নির্দিষ্ট করতে হবে:
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/public/basic
basic প্রক্ষেপণ দ্বারা প্রদত্ত ডেটার ছোট উপসেট কোডকে আরও দক্ষ করার জন্য মূল্যবান, কিন্তু কাস্টমাইজ করা যাবে না।
v4 এপিআই
যদিও Sheets API v4 একটি সম্পূর্ণ ডেটা সেট ফেরত দিতে পারে, এটি Sheets API v3 এর basic দৃশ্যমানতা সেটিংয়ের অনুরূপ স্থির উপসেটগুলিকে সংজ্ঞায়িত করে না। স্প্রেডশিট সংগ্রহের পদ্ধতিগুলি একটি ফিল্ড কোয়েরি প্যারামিটার ব্যবহারের মাধ্যমে তারা যে পরিমাণ ডেটা ফেরত দেয় তা সীমাবদ্ধ করে।
উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরিটি শুধুমাত্র একটি নির্দিষ্ট স্প্রেডশিটের সমস্ত শিটের শিরোনাম ফেরত দেয়:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties.title
একটি স্প্রেডশিট তৈরি করুন
v3 API
Sheets API v3 নতুন স্প্রেডশিট তৈরি করার কোনও উপায় প্রদান করে না; পরিবর্তে, নতুন স্প্রেডশিট ফাইল তৈরি করতে Drive API Files.create পদ্ধতি ব্যবহার করা যেতে পারে। এর জন্য অ্যাপ্লিকেশনটিকে https://www.googleapis.com/auth/drive স্কোপ ঘোষণা করতে হবে।
v4 এপিআই
Drive API Files.create পদ্ধতিটি Sheets API v4 এর সাথেও ব্যবহার করা যেতে পারে, তবে অ্যাপ্লিকেশনটিকে https://www.googleapis.com/auth/drive স্কোপ প্রদান করতে হবে।
সমতুল্য বিকল্প হিসেবে, Sheets API v4 একটি spreadsheets.create পদ্ধতি প্রদান করে, যা ঐচ্ছিকভাবে শীট যোগ করতে, স্প্রেডশিট এবং শীট বৈশিষ্ট্য সেট করতে এবং নামযুক্ত রেঞ্জ যোগ করতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতটি একটি নতুন স্প্রেডশিট তৈরি করে এবং এটিকে "NewTitle" নাম দেয়:
POST https://sheets.googleapis.com/v4/spreadsheets
{
"properties": {"title": "NewTitle"}
}প্রমাণিত ব্যবহারকারীর জন্য স্প্রেডশিট তালিকাভুক্ত করুন
v3 API
Sheets API v3 ফিড একটি অ্যাপ্লিকেশনকে প্রমাণীকৃত ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য সমস্ত স্প্রেডশিটের একটি তালিকা পুনরুদ্ধার করতে দেয়। স্প্রেডশিট ফিডের শেষ বিন্দু হল:
GET https://spreadsheets.google.com/feeds/spreadsheets/private/full
v4 এপিআই
Sheets API v4 এই নির্দিষ্ট ক্রিয়াকলাপটি প্রদান করে না। আমরা স্প্রেডশিট নির্বাচনের জন্য Google Picker এর সাথে drive.file স্কোপ ব্যবহার করার জন্য আপনার অ্যাপটি স্থানান্তর করার পরামর্শ দিচ্ছি।
যেসব ক্ষেত্রে স্প্রেডশিট তালিকাভুক্ত করা প্রয়োজন, সেখানে mimeType কোয়েরি ব্যবহার করে Drive API Files.list পদ্ধতির মাধ্যমে এটি প্রতিলিপি করা যেতে পারে:
GET https://www.googleapis.com/drive/v3/files
?q=mimeType='application/vnd.google-apps.spreadsheet'ব্যবহারকারীর সমস্ত স্প্রেডশিট তালিকাভুক্ত করার জন্য Drive API files.list পদ্ধতি ব্যবহার করার জন্য একটি সীমাবদ্ধ সুযোগ প্রয়োজন।
শিট মেটাডেটা পুনরুদ্ধার করুন
Sheets API v3 একটি নির্দিষ্ট স্প্রেডশিটের মধ্যে থাকা শীট মেটাডেটা অ্যাক্সেস করার জন্য একটি ফিড প্রদান করে (সারি এবং সেল ডেটা একটি পৃথক ফিডের মাধ্যমে অ্যাক্সেস করা হয়)। মেটাডেটাতে শীট শিরোনাম এবং আকারের তথ্যের মতো তথ্য অন্তর্ভুক্ত থাকে।
Sheets API v4 spreadsheets.get পদ্ধতি এই তথ্য এবং আরও অনেক কিছুতে অ্যাক্সেস প্রদান করে।
v3 API
এই API এন্ডপয়েন্ট থেকে ওয়ার্কশীট ফিড অ্যাক্সেসযোগ্য (একটি উপযুক্ত অনুমোদন শিরোনাম ব্যবহার করে):
GET https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
এই অনুরোধের প্রতিক্রিয়ার কাঠামোটিও এর মতোই, প্রতিটি শিটের ডেটা একটি পৃথক <entry> তে থাকে:
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:gs="http://schemas.google.com/spreadsheets/2006"
xmlns:gd="http://schemas.google.com/g/2005"
gd:etag='W/"D0cERnk-eip7ImA9WBBXGEg."'>
<id>https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<title type="text">Groceries R Us</title>
<link rel="alternate" type="text/html"
href="https://spreadsheets.google.com/ccc?key=spreadsheetId"/>
<link rel="http://schemas.google.com/g/2005#feed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full"/>
<author>
<name>Fitzwilliam Darcy</name>
<email>fitz@example.com</email>
</author>
<openSearch:totalResults>1</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>1</openSearch:itemsPerPage>
<entry gd:etag='"YDwqeyI."'>
<id>https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<title type="text">Sheet1</title>
<content type="text">Sheet1</content>
<link rel="http://schemas.google.com/spreadsheets/2006#listfeed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full"/>
<link rel="http://schemas.google.com/spreadsheets/2006#cellsfeed"
type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version"/>
<gs:rowCount>100</gs:rowCount>
<gs:colCount>20</gs:colCount>
</entry>
</feed>
v4 এপিআই
স্প্রেডশিটস.গেট পদ্ধতিটি শীট বৈশিষ্ট্য এবং অন্যান্য মেটাডেটা অর্জনের জন্য ব্যবহার করা যেতে পারে - শীটস API v3 ব্যবহার করে যা পাওয়া যায় তার চেয়ে অনেক বেশি। আপনি যদি কেবল শীট বৈশিষ্ট্যগুলি পড়তে চান, তাহলে স্প্রেডশিট সেল ডেটা অন্তর্ভুক্ত করা রোধ করতে includeGridData কোয়েরি প্যারামিটারটিকে false এ সেট করুন:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?includeGridData=false
Spreadsheet প্রতিক্রিয়াতে Sheet অবজেক্টের একটি অ্যারে থাকে; শীটের শিরোনাম এবং আকারের তথ্য বিশেষভাবে এই অবজেক্টগুলির SheetProperties উপাদানের অধীনে পাওয়া যাবে। উদাহরণস্বরূপ:
{
"spreadsheetId": spreadsheetId,
"sheets": [
{"properties": {
"sheetId": sheetId,
"title": "Sheet1",
"index": 0,
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1,
"frozenColumnCount": 0,
"hideGridlines": false
},
...
},
...
},
...
],
...
}একটি স্প্রেডশিটে একটি শীট যোগ করুন
উভয় API আপনাকে একটি বিদ্যমান স্প্রেডশিটে নতুন শিট যোগ করার অনুমতি দেয়।
v3 API
Sheets API v3 নিম্নলিখিত (প্রমাণিত) POST অনুরোধ করে একটি স্প্রেডশিটে নতুন ওয়ার্কশিট যোগ করতে পারে। আপনি নতুন শীটের আকার নির্দিষ্ট করতে পারেন:
POST https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gs="http://schemas.google.com/spreadsheets/2006">
<title>Expenses</title>
<gs:rowCount>50</gs:rowCount>
<gs:colCount>10</gs:colCount>
</entry>
v4 এপিআই
আপনি spreadsheets.batchUpdate পদ্ধতিতে একটি AddSheet অনুরোধ করে নতুন শীট যোগ করতে পারেন। অনুরোধের অংশ হিসেবে, আপনি নতুন শীটের জন্য শীট বৈশিষ্ট্য নির্দিষ্ট করতে পারেন; সমস্ত বৈশিষ্ট্য ঐচ্ছিক। বিদ্যমান শীটের জন্য ব্যবহৃত শিরোনাম প্রদান করা একটি ত্রুটি।
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
"requests": [{
"addSheet": {
"properties": {
"title": "Expenses",
"sheetType": "GRID",
"gridProperties": {
"rowCount": 50,
"columnCount": 10
}
}
}
}],
}একটি শীটের শিরোনাম এবং আকার পরিবর্তন করুন
Sheets API v3 আপনাকে শীটের শিরোনাম এবং আকার আপডেট করতে দেয়; Sheets API v4 এটিও করতে দেয়, তবে অন্যান্য শীটের বৈশিষ্ট্য আপডেট করতেও এটি ব্যবহার করা যেতে পারে। মনে রাখবেন যে শীটের আকার কমানোর ফলে ক্রপ করা কোষের ডেটা সতর্কতা ছাড়াই মুছে ফেলা হতে পারে।
v3 API
একটি ওয়ার্কশিটের শিরোনাম বা আকার পরিবর্তন করতে, ওয়ার্কশিট ফিডটি পুনরুদ্ধার করে এবং পছন্দসই ওয়ার্কশিট এন্ট্রিটি খুঁজে বের করে শুরু করুন, যাতে একটি edit URL রয়েছে। ওয়ার্কশিটের মেটাডেটা আপডেট করুন এবং এটিকে PUT অনুরোধের মূল অংশ হিসাবে সম্পাদনা URL এ পাঠান। উদাহরণস্বরূপ:
PUT https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version
<entry>
<id>
https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId
</id>
<updated>2007-07-30T18:51:30.666Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#worksheet"/>
<title type="text">Expenses</title>
<content type="text">Expenses</content>
<link rel="http://schemas.google.com/spreadsheets/2006#listfeed"
type="application/atom+xml" href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full"/>
<link rel="http://schemas.google.com/spreadsheets/2006#cellsfeed"
type="application/atom+xml" href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full"/>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version"/>
<gs:rowCount>45</gs:rowCount>
<gs:colCount>15</gs:colCount>
</entry>
v4 এপিআই
আকার, শিরোনাম এবং অন্যান্য শীট বৈশিষ্ট্য আপডেট করার জন্য, spreadsheets.batchUpdate পদ্ধতিতে একটি updateSheetProperties অনুরোধ করুন। POST অনুরোধের বডিতে পরিবর্তন করার জন্য বৈশিষ্ট্যগুলি থাকা উচিত এবং fields প্যারামিটারে স্পষ্টভাবে সেই বৈশিষ্ট্যগুলি তালিকাভুক্ত করা উচিত (যদি আপনি সমস্ত বৈশিষ্ট্য আপডেট করতে চান, তাহলে তাদের তালিকাভুক্ত করার জন্য সংক্ষিপ্ত বিবরণ হিসাবে fields:"*" ব্যবহার করুন)। উদাহরণস্বরূপ, নিম্নলিখিতটি নির্দিষ্ট করে যে প্রদত্ত আইডি সহ শীটের জন্য শীট শিরোনাম এবং আকার বৈশিষ্ট্য আপডেট করা উচিত:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
"requests": [
{
"updateSheetProperties": {
"properties": {
"sheetId": sheetId,
"title": "Expenses",
"gridProperties": {
"rowCount": 45,
"columnCount": 15,
}
},
"fields": "title,gridProperties(rowCount,columnCount)"
}
}
],
}একটি শীটের sheetId পুনরুদ্ধার করতে, স্প্রেডশিট spreadsheets.get পদ্ধতি ব্যবহার করুন।
একটি পত্রক মুছুন
যেকোনো API একটি প্রদত্ত স্প্রেডশিট থেকে শীটগুলি সরাতে পারে।
v3 API
একটি ওয়ার্কশিট মুছে ফেলার জন্য, ওয়ার্কশিট ফিডটি পুনরুদ্ধার করে শুরু করুন, তারপর লক্ষ্য ওয়ার্কশিট এন্ট্রির edit URL-এ একটি DELETE অনুরোধ পাঠান।
DELETE https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version
v4 এপিআই
একটি শীট মুছে ফেলার জন্য, spreadsheets.batchUpdate পদ্ধতিতে একটি DeleteSheet অনুরোধ করুন। POST অনুরোধের বডিতে কেবল শীটটি মুছে ফেলার জন্য sheetId থাকা উচিত। উদাহরণস্বরূপ:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": sheetId
}
}
],
}একটি পৃথক শিটের sheetId পুনরুদ্ধার করতে, স্প্রেডশিট spreadsheets.get পদ্ধতি ব্যবহার করুন।
সারি ডেটা পুনরুদ্ধার করুন
লিস্ট রো ফিড হল স্প্রেডশিটের কোষের মধ্যে ডেটা অ্যাক্সেস করার জন্য Sheets API v3 দ্বারা প্রদত্ত দুটি পদ্ধতির মধ্যে একটি (অন্যটি হল সেল ফিড )। রো ফিড সাধারণ স্প্রেডশিট ক্রিয়াকলাপগুলিকে সমর্থন করার জন্য তৈরি করা হয়েছে (সারি অনুসারে সারি পড়া, সারি যুক্ত করা, সাজানো), তবে কিছু অনুমান তৈরি করে যা এটিকে কিছু কাজের জন্য অনুপযুক্ত করে তোলে। বিশেষ করে, লিস্ট ফিড ধরে নেয় যে ফাঁকা সারিগুলি ফিড সমাপ্তি, এবং বাধ্যতামূলক হেডারগুলি একটি শিটের প্রথম সারিতে উপস্থিত থাকে।
বিপরীতে, Sheets API v4 সারি-নির্দিষ্ট অ্যাক্সেস পদ্ধতি ব্যবহার করে না। পরিবর্তে, A1 নোটেশন ব্যবহার করে প্রয়োজনীয় নির্দিষ্ট রেঞ্জগুলি উল্লেখ করে শীট সেল ডেটা অ্যাক্সেস করা হয়। রেঞ্জগুলি কোষের ব্লক, সম্পূর্ণ সারি, সম্পূর্ণ কলাম, অথবা সম্পূর্ণ শীট হতে পারে। API কোষের বিচ্ছিন্ন সেটগুলিও অ্যাক্সেস করতে পারে।
v3 API
একটি প্রদত্ত ওয়ার্কশিটের জন্য তালিকা-ভিত্তিক ফিডের URL নির্ধারণ করতে, ওয়ার্কশিট ফিডটি পুনরুদ্ধার করুন এবং আগ্রহের ওয়ার্কশিট এন্ট্রিতে তালিকা ফিড URLটি খুঁজুন।
তালিকা-ভিত্তিক ফিড পুনরুদ্ধার করতে, একটি উপযুক্ত অনুমোদন শিরোনাম ব্যবহার করে তালিকা ফিড URL-এ একটি GET অনুরোধ পাঠান। উদাহরণস্বরূপ:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
এই অনুরোধের প্রতিক্রিয়ায় অন্যান্য বিষয়ের মধ্যে, নির্দিষ্ট সারির সাথে সম্পর্কিত এন্ট্রি রয়েছে। (বাধ্যতামূলক) শিট হেডার সারিতে প্রদত্ত নাম দ্বারা পৃথক কোষগুলি উল্লেখ করা হয়। উদাহরণস্বরূপ, এখানে একটি একক সারির এন্ট্রি রয়েছে:
<entry gd:etag='"S0wCTlpIIip7ImA0X0QI"'>
<id>rowId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#list"/>
<title type="text">Bingley</title>
<content type="text">Hours: 10, Items: 2, IPM: 0.0033</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version"/>
<gsx:name>Bingley</gsx:name>
<gsx:hours>10</gsx:hours>
<gsx:items>2</gsx:items>
<gsx:ipm>0.0033</gsx:ipm>
</entry>
ডিফল্টরূপে তালিকা ফিডে ফিরে আসা সারিগুলি সারি ক্রমে ফিরে আসে। শীটস API v3 সেই ক্রম পরিবর্তন করার জন্য কোয়েরি প্যারামিটার সরবরাহ করে।
বিপরীত ক্রম:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full?reverse=true
একটি নির্দিষ্ট কলাম অনুসারে ক্রম করুন:
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
?orderby=column:lastnameSheets API v3 একটি স্ট্রাকচার্ড কোয়েরির মাধ্যমে নির্দিষ্ট সারি ফিল্টার করার অনুমতি দেয় (কলাম হেডার দ্বারা উল্লেখ করা হয়েছে):
GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
?sq=age>25%20and%20height<175v4 এপিআই
Sheets API v4 এর মাধ্যমে, spreadsheets.values.get অথবা spreadsheets.values.batchGet পদ্ধতি ব্যবহার করে রেঞ্জ অনুসারে সারিগুলি পুনরুদ্ধার করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতটি "Sheet1" এর সমস্ত সারি ফেরত দেয়:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1
এই অনুরোধের প্রতিক্রিয়ার কাঠামোটি এরকম:
{
"range": "Sheet1",
"majorDimension": "ROWS",
"values": [["Name", "Hours", "Items", "IPM"],
["Bingley", "10", "2", "0.0033"],
["Darcy", "14", "6", "0.0071"]]
}সম্পূর্ণ সারি, কলাম, বা শীট পুনরুদ্ধার করার সময়, উত্তরে পিছনের খালি ঘরগুলি অন্তর্ভুক্ত করা হয় না।
Sheets API v4-তে Sheets API v3 দ্বারা প্রদত্ত সারি-ক্রম ক্যোয়ারী প্যারামিটারের সমতুল্য নেই। বিপরীত-ক্রম তুচ্ছ; কেবল বিপরীত ক্রমে ফেরত values অ্যারে প্রক্রিয়া করুন। কলাম অনুসারে ক্রম পঠনের জন্য সমর্থিত নয়, তবে শীটে ডেটা (একটি SortRange ব্যবহার করে) সাজানো এবং তারপর এটি পড়া সম্ভব।
Sheets API v4-তে বর্তমানে Sheets API v3 স্ট্রাকচার্ড কোয়েরির জন্য সরাসরি কোনও সমতুল্য নেই। তবে, আপনি প্রাসঙ্গিক ডেটা পুনরুদ্ধার করতে পারেন এবং আপনার অ্যাপ্লিকেশনে প্রয়োজন অনুসারে এটি সাজাতে পারেন।
ডেটার একটি নতুন সারি যোগ করুন
আপনি যেকোনো API ব্যবহার করে একটি শীটে ডেটার একটি নতুন সারি যোগ করতে পারেন।
v3 API
একটি প্রদত্ত ওয়ার্কশিটের জন্য তালিকা-ভিত্তিক ফিডের URL নির্ধারণ করতে, ওয়ার্কশিট ফিডটি পুনরুদ্ধার করুন এবং আগ্রহের ওয়ার্কশিট এন্ট্রিতে পোস্ট URLটি খুঁজুন।
ডেটার একটি সারি যোগ করতে, একটি উপযুক্ত অনুমোদন শিরোনাম ব্যবহার করে পোস্ট URL-এ একটি POST অনুরোধ পাঠান। উদাহরণস্বরূপ:
POST https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
POST অনুরোধের মূল অংশে সারি ডেটা যোগ করার জন্য একটি এন্ট্রি থাকা উচিত, যেখানে কলাম হেডার দ্বারা পৃথক কোষগুলি উল্লেখ করা হবে:
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended">
<gsx:hours>2</gsx:hours>
<gsx:ipm>0.5</gsx:ipm>
<gsx:items>60</gsx:items>
<gsx:name>Elizabeth</gsx:name>
</entry>
নির্দিষ্ট শীটের শেষে নতুন সারি যুক্ত করা হয়।
v4 এপিআই
Sheets API v4 এর সাহায্যে, আপনি spreadsheets.values.append পদ্ধতি ব্যবহার করে সারি যোগ করতে পারেন। নিম্নলিখিত উদাহরণটি একটি স্প্রেডশিটের "Sheet1" এর শেষ টেবিলের নীচে ডেটার একটি নতুন সারি লেখায়।
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/append/Sheet1
{
"values": [["Elizabeth", "2", "0.5", "60"]]
}উপরন্তু, Sheets API v4 আপনাকে spreadsheets.batchUpdate এ AppendCells অনুরোধ ব্যবহার করে নির্দিষ্ট বৈশিষ্ট্য এবং ফর্ম্যাটিং সহ কোষ যুক্ত করতে দেয়।
নতুন ডেটা সহ একটি সারি সম্পাদনা করুন
উভয় APIই নতুন মান সহ সারি ডেটা আপডেট করার অনুমতি দেয়।
v3 API
ডেটার একটি সারি সম্পাদনা করতে, আপনি যে সারিটি আপডেট করতে চান তার এন্ট্রিটি সনাক্ত করতে তালিকা ফিড পরীক্ষা করুন। প্রয়োজন অনুসারে সেই এন্ট্রির বিষয়বস্তু আপডেট করুন। নিশ্চিত করুন যে আপনি যে এন্ট্রিটি ব্যবহার করছেন তাতে থাকা আইডি মানটি বিদ্যমান এন্ট্রির আইডির সাথে হুবহু মিলে যাচ্ছে।
একবার এন্ট্রিটি আপডেট হয়ে গেলে, একটি উপযুক্ত অনুমোদন শিরোনাম ব্যবহার করে, সেই সারি এন্ট্রিতে প্রদত্ত edit URL-এ অনুরোধের মূল অংশ হিসাবে এন্ট্রিটি সহ একটি PUT অনুরোধ পাঠান। উদাহরণস্বরূপ:
PUT https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version
<entry gd:etag='"S0wCTlpIIip7ImA0X0QI"'>
<id>rowId</id>
<updated>2006-11-17T18:23:45.173Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#list"/>
<title type="text">Bingley</title>
<content type="text">Hours: 10, Items: 2, IPM: 0.0033</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version"/>
<gsx:name>Bingley</gsx:name>
<gsx:hours>20</gsx:hours>
<gsx:items>4</gsx:items>
<gsx:ipm>0.0033</gsx:ipm>
</entry>
v4 এপিআই
Sheets API v4 এর মাধ্যমে, আপনি যে সারিটি সম্পাদনা করতে চান তার A1 নোটেশন ব্যবহার করে একটি সারি সম্পাদনা করতে পারেন এবং সেই সারিটি ওভাররাইট করার জন্য একটি spreadsheets.values.update অনুরোধ জারি করতে পারেন। নির্দিষ্ট পরিসরটি কেবল সারির প্রথম কক্ষকে নির্দেশ করে; অনুরোধের সাথে প্রদত্ত মানের উপর ভিত্তি করে API আপডেট করার জন্য কোষগুলিকে অনুমান করে। যদি আপনি পরিবর্তে একটি মাল্টি-সেল পরিসর নির্দিষ্ট করেন, তাহলে আপনার প্রদত্ত মানগুলি অবশ্যই সেই পরিসরের মধ্যে ফিট করতে হবে; যদি না হয় তবে API একটি ত্রুটি ফেরত দেয়।
নিম্নলিখিত উদাহরণের অনুরোধ এবং অনুরোধের বডি "Sheet1" এর চতুর্থ সারিতে ডেটা যোগ করে:
PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A4
{
"values": [["Elizabeth", "2", "0.5", "60"]]
}আপনি spreadsheet.values.batchUpdate পদ্ধতি থেকেও সারি ডেটা আপডেট করতে পারেন; যদি আপনি একাধিক সারি বা সেল আপডেট করেন তবে এই পদ্ধতিটি ব্যবহার করা আরও কার্যকর।
উপরন্তু, Sheets API v4 আপনাকে spreadsheets.batchUpdate এ UpdateCells বা RepeatCell অনুরোধ ব্যবহার করে সেলের বৈশিষ্ট্য এবং ফর্ম্যাটিং সম্পাদনা করতে দেয়।
একটি সারি মুছুন
উভয় API সারি মুছে ফেলা সমর্থন করে। স্প্রেডশিট থেকে একটি মুছে ফেলা সারি সরানো হয় এবং তার নীচের সারিগুলি একটি উপরে পুশ করা হয়।
v3 API
একটি সারি মুছে ফেলার জন্য, প্রথমে তালিকা ফিড থেকে মুছে ফেলার জন্য সারিটি পুনরুদ্ধার করুন, তারপর সারির এন্ট্রিতে প্রদত্ত edit URL-এ একটি DELETE অনুরোধ পাঠান। এটি সারি আপডেট করার জন্য ব্যবহৃত একই URL।
DELETE https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full/rowId/version
যদি আপনি নিশ্চিত করতে চান যে আপনি এমন কোনও সারি মুছে ফেলছেন না যা অন্য ক্লায়েন্ট দ্বারা পুনরুদ্ধার করার পর থেকে পরিবর্তিত হয়েছে, তাহলে একটি HTTP If-Match হেডার অন্তর্ভুক্ত করুন যাতে মূল সারির ETag মান থাকে। আপনি এন্ট্রি উপাদানের gd:etag বৈশিষ্ট্য পরীক্ষা করে মূল সারির ETag মান নির্ধারণ করতে পারেন।
যদি আপনি সারিটি মুছে ফেলতে চান, তা সত্ত্বেও অন্য কেউ এটি পুনরুদ্ধার করার পর আপডেট করেছে কিনা, তাহলে If-Match: * ব্যবহার করুন এবং ETag অন্তর্ভুক্ত করবেন না। (এই ক্ষেত্রে, সারিটি মুছে ফেলার আগে আপনাকে এটি পুনরুদ্ধার করতে হবে না।)
v4 এপিআই
Sheets API v4 ব্যবহার করে সারি মুছে ফেলার কাজটি একটি স্প্রেডশিট.batchUpdate পদ্ধতি কল দ্বারা পরিচালিত হয়, যা DeleteDimension অনুরোধ ব্যবহার করে। এই অনুরোধটি কলাম এবং ডেভেলপারদের অপসারণ করতে এবং শুধুমাত্র একটি সারি বা কলামের অংশ অপসারণ করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতটি প্রদত্ত আইডি সহ একটি শিটের ষষ্ঠ সারিটি সরিয়ে দেয় (সারি সূচকগুলি শূন্য-ভিত্তিক, startIndex অন্তর্ভুক্ত এবং endIndex এক্সক্লুসিভ সহ):
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 5,
"endIndex": 6
}
}
}
],
}একটি শিটের sheetId স্প্রেডশিট.গেট পদ্ধতি ব্যবহার করে পুনরুদ্ধার করা যেতে পারে।
সেল ডেটা পুনরুদ্ধার করুন
শীটস API v3 স্প্রেডশিটে সংরক্ষিত সমস্ত ডেটাতে মৌলিক অ্যাক্সেসের জন্য একটি সেল ফিড প্রদান করে। পঠন অ্যাক্সেসের জন্য, সেল ফিড সম্পূর্ণ শীট সামগ্রী বা কোয়েরি প্যারামিটারের একটি সেট দ্বারা সংজ্ঞায়িত শীটের কোষগুলির একটি পরিসর প্রদান করতে পারে, তবে শুধুমাত্র একটি একক ব্লক হিসাবে - অতিরিক্ত GET অনুরোধ ব্যবহার করে বিচ্ছিন্ন রেঞ্জগুলি আলাদাভাবে পুনরুদ্ধার করতে হবে।
Sheets API v4 একটি শীট থেকে যেকোনো সেট সেল ডেটা পুনরুদ্ধার করতে পারে (একাধিক বিচ্ছিন্ন রেঞ্জ সহ)। Sheets API v3 শুধুমাত্র ইনপুট মান (যেমন ব্যবহারকারী কীবোর্ডে প্রবেশ করান) এবং/অথবা সূত্রের আউটপুট (যদি সংখ্যাসূচক হয়) হিসাবে সেল সামগ্রী ফেরত দিতে পারে; Sheets API v4 মান, সূত্র, ফর্ম্যাটিং, হাইপারলিঙ্ক, ডেটা যাচাইকরণ এবং অন্যান্য বৈশিষ্ট্যগুলিতে সম্পূর্ণ অ্যাক্সেস দেয়।
v3 API
একটি প্রদত্ত ওয়ার্কশিটের জন্য একটি সেল-ভিত্তিক ফিডের URL নির্ধারণ করতে, ওয়ার্কশিট ফিডটি পরীক্ষা করুন এবং আগ্রহের ওয়ার্কশিট এন্ট্রিতে সেল ফিড URLটি খুঁজুন।
সেল-ভিত্তিক ফিড পুনরুদ্ধার করতে, উপযুক্ত অনুমোদন হেডার ব্যবহার করে সেল ফিড URL-এ একটি GET অনুরোধ পাঠান। উদাহরণস্বরূপ:
GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full
সারি এবং কলাম নম্বর ব্যবহার করে ঘরগুলি রেফারেন্স করা হয়। max-row , min-row , max-col এবং min-col কোয়েরি প্যারামিটার ব্যবহার করে একটি নির্দিষ্ট পরিসর আনা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতটি সারি 2 থেকে শুরু করে কলাম 4 (D) এর সমস্ত ঘর পুনরুদ্ধার করে:
GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full
?min-row=2&min-col=4&max-col=4Sheets API v3 পুনরুদ্ধারকৃত কোষের inputValue প্রদান করে—যে মানটি ব্যবহারকারী অন্যথায় Google Sheets ব্যবহারকারী ইন্টারফেসে টাইপ করে সেলটি পরিচালনা করতে পারে। inputValue একটি আক্ষরিক মান বা একটি সূত্র হতে পারে। API কখনও কখনও একটি numericValue প্রদান করে; উদাহরণস্বরূপ, যখন একটি সূত্র একটি সংখ্যা তৈরি করে। উদাহরণস্বরূপ, একটি প্রতিক্রিয়াতে নিম্নলিখিত কাঠামোর অনুরূপ কোষ এন্ট্রি অন্তর্ভুক্ত থাকতে পারে:
<entry gd:etag='"ImB5CBYSRCp7"'>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4</id>
<updated>2006-11-17T18:27:32.543Z</updated>
<category scheme="http://schemas.google.com/spreadsheets/2006"
term="http://schemas.google.com/spreadsheets/2006#cell"/>
<title type="text">D4</title>
<content type="text">5</content>
<link rel="self" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4"/>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R9C4/srevc"/>
<gs:cell row="4" col="4" inputValue="=FLOOR(C4/(B4*60),.0001)"
numericValue="5.0">5</gs:cell>
</entry>
v4 এপিআই
যথাক্রমে spreadsheets.values.get অথবা spreadsheets.values.batchGet পদ্ধতিতে আগ্রহের পরিসর বা রেঞ্জের জন্য কল করে সেল ডেটা পুনরুদ্ধার করুন। উদাহরণস্বরূপ, নিম্নলিখিতটি "Sheet2" এর কলাম D-এর ঘরগুলিকে, সারি 2 থেকে শুরু করে, কলাম-প্রধান ক্রমে ফেরত দেয় এবং প্রবেশ করানো সূত্রগুলি ফেরত দেয় (পরবর্তী খালি ঘরগুলি বাদ দেওয়া হয়):
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet2!D2:D?majorDimension=COLUMNS&valueRenderOption=FORMULA
এই অনুরোধের প্রতিক্রিয়া কাঠামোর অনুরূপ:
{
"spreadsheetId": spreadsheetId,
"valueRanges": [
{"range": "Sheet2!D2:D",
"majorDimension": "COLUMNS",
"values": [["Widget", 234, "=FLOOR(C4/(B4*60),.0001)", "=D4\*1000"]]
}]
}যদি আপনি একাধিক রেঞ্জের সেল ডেটা পুনরুদ্ধার করতে চান, তাহলে spreadsheet.values.batchGet ব্যবহার করা আরও কার্যকর। যদি আপনি ফর্ম্যাটিং এর মতো সেল বৈশিষ্ট্য অ্যাক্সেস করতে চান, তাহলে spreadsheet.get পদ্ধতিটি প্রয়োজন।
একটি সেল সম্পাদনা করুন
Sheets API v3 আপনাকে সেল ফিডে একটি PUT কমান্ড জারি করে সেল কন্টেন্ট সম্পাদনা করতে দেয়, যেখানে পরিবর্তিত সেল এন্ট্রিটি অনুরোধের বডি হিসেবে থাকবে।
বিপরীতে, Sheets API v4 কোষের বিষয়বস্তু পরিবর্তন করার জন্য spreadsheets.values.update এবং spreadsheets.values.batchUpdate পদ্ধতি প্রদান করে।
v3 API
একটি একক ঘরের বিষয়বস্তু সম্পাদনা করতে, প্রথমে সেল ফিডে সেলের এন্ট্রিটি খুঁজুন। এন্ট্রিটিতে একটি সম্পাদনা URL রয়েছে। আপনি যে বিষয়বস্তুটি সেলটিতে রাখতে চান তা প্রতিফলিত করার জন্য এন্ট্রিটি আপডেট করুন এবং তারপরে আপডেট করা সেল এন্ট্রিটিকে অনুরোধের মূল অংশ হিসাবে সম্পাদনা URL এ একটি PUT অনুরোধ জারি করুন। উদাহরণস্বরূপ, নিম্নলিখিত সেল D2 (R2C4) আপডেট করে একটি SUM সূত্র ধারণ করে:
PUT https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full//R2C4/srevc<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gs="http://schemas.google.com/spreadsheets/2006"> <id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4</id> <link rel="edit" type="application/atom+xml" href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4"/> <gs:cell row="2" col="4" inputValue="=SUM(A1:B6)"/> </entry>
v4 এপিআই
Sheets API v4-এ একক সেল সম্পাদনা spreadsheets.values.update পদ্ধতি ব্যবহার করে করা যেতে পারে। এই পদ্ধতির জন্য একটি ValueInputOption কোয়েরি প্যারামিটার প্রয়োজন, যা নির্দিষ্ট করে যে ইনপুট ডেটা Sheets UI ( USER_ENTERED ) তে প্রবেশ করানো হয়েছে কিনা, নাকি পার্স না করে ( RAW ) হিসাবে নেওয়া হয়েছে কিনা। উদাহরণস্বরূপ, নিম্নলিখিত D2 সেলটি একটি সূত্র সহ আপডেট করে:
PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/D2?valueInputOption=USER_ENTERED
{"values": [["=SUM(A1:B6)"]]}যদি আপনি একাধিক সেল সম্পাদনা করেন, তাহলে একটি অনুরোধে সেগুলি ইস্যু করতে spreadsheets.values.batchUpdate পদ্ধতি ব্যবহার করুন।
ব্যাচ অনুরোধের মাধ্যমে একাধিক কক্ষ সম্পাদনা করুন
উভয় APIই একটি একক (ব্যাচ) অনুরোধের মাধ্যমে একাধিক কোষের বিষয়বস্তুতে পরিবর্তন আনার উপায় প্রদান করে। ব্যাচ অনুরোধ দ্বারা উল্লেখিত কোষগুলিকে একটি সংলগ্ন পরিসরে থাকা প্রয়োজন হয় না।
যদি ব্যাচের এক বা একাধিক সেল সম্পাদনা ব্যর্থ হয়, তাহলে Sheets API v3 অন্যদের সফল হতে দেয়। তবে, ব্যাচ করা কোনও আপডেট ব্যর্থ হলে Sheets API v4 একটি ত্রুটি ফেরত দেয় এবং সেই ক্ষেত্রে সেগুলির কোনওটিই প্রয়োগ করে না।
v3 API
একাধিক সেল সম্পাদনা করতে, প্রথমে ওয়ার্কশিটের জন্য একটি সেল ফিড উদ্ধার করুন। এন্ট্রিটিতে একটি ব্যাচ URL রয়েছে। এই URL এ একটি POST অনুরোধ পাঠান, সাথে একটি অনুরোধের অংশ পাঠান যেখানে আপনি যে সেলগুলি আপডেট করতে চান এবং নতুন সেলের বিষয়বস্তু বর্ণনা করা হবে। POST অনুরোধ এবং অনুরোধের অংশের কাঠামো নিম্নলিখিতগুলির মতো:
POST https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/batch
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gs="http://schemas.google.com/spreadsheets/2006">
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full</id>
<entry>
<batch:id>request1</batch:id>
<batch:operation type="update"/>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4</id>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C4/version"/>
<gs:cell row="2" col="4" inputValue="newData"/>
</entry>
...
<entry>
<batch:id>request2</batch:id>
<batch:operation type="update"/>
<id>https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C5</id>
<link rel="edit" type="application/atom+xml"
href="https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full/R2C5/version"/>
<gs:cell row="5" col="2" inputValue="moreInfo"/>
</entry>
</feed>
batch:id ফিল্ডটি ব্যাচের মধ্যে থাকা অনুরোধটিকে অনন্যভাবে সনাক্ত করবে। batch:operation ফিল্ডটি সেল সম্পাদনার জন্য update হওয়া উচিত। gs:cell সারি এবং কলাম নম্বর দ্বারা সেল সনাক্ত করে এবং সেখানে সন্নিবেশ করার জন্য নতুন ডেটা সরবরাহ করে। id আপডেট করার জন্য সেলের সম্পূর্ণ URL থাকে। link একটি href অ্যাট্রিবিউট থাকতে হবে যাতে সেলের আইডির সম্পূর্ণ পথ থাকে। প্রতিটি এন্ট্রির জন্য এই সমস্ত ফিল্ড প্রয়োজন।
v4 এপিআই
Sheets API v4 spreadsheets.values.batchUpdate পদ্ধতির মাধ্যমে সেল মানগুলির ব্যাচ সম্পাদনা প্রদান করে।
একাধিক সেল সম্পাদনা করার জন্য অনুরোধের বডিতে উল্লেখিত ডেটা পরিবর্তন সহ একটি POST অনুরোধ জারি করা যেতে পারে। উদাহরণস্বরূপ:
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values:batchUpdate
{
"valueInputOption": "USER_ENTERED"
"data": [
{"range": "D4",
"majorDimension": "ROWS",
"values": [["newData"]]
},
{"range": "B5",
"majorDimension": "ROWS",
"values": [["moreInfo"]]
}
]
}যদি আপনি একটি একক ঘরকে পরিসর হিসেবে নির্দিষ্ট করে থাকেন, তাহলে প্রদত্ত সমস্ত মান উপরের-বাম স্থানাঙ্ক হিসেবে সেই ঘর দিয়ে শুরু করে শীটে লেখা হবে। যদি আপনি এর পরিবর্তে একটি বহু-কোষ পরিসর নির্দিষ্ট করেন, তাহলে আপনার প্রদত্ত মানগুলি অবশ্যই সেই পরিসরের সাথে হুবহু ফিট করবে; যদি না হয় তবে API একটি ত্রুটি ফেরত দেবে।