Sheets API v3 থেকে স্থানান্তর করুন

আপনার যদি Google পত্রক API v3-এর উপর ভিত্তি করে বিদ্যমান অ্যাপ থাকে, তাহলে আপনি Google Sheets API v4-এ স্থানান্তর করতে পারেন। v4 সংস্করণটি JSON-ভিত্তিক, একটি সহজে ব্যবহারযোগ্য ইন্টারফেস রয়েছে এবং যথেষ্ট পরিমাণে কার্যকারিতা যোগ করে যা v3 সংস্করণে সম্ভব নয়।

এই পৃষ্ঠাটি পুরানো পত্রক API v3 কমান্ড এবং পত্রক API v4 এ তাদের সমতুল্য ক্রিয়াকলাপগুলির মধ্যে একটি ম্যাপিং প্রদান করে৷ ম্যাপিংটি মূলত স্প্রেডশীট মূল্য সংগ্রহের উপর ফোকাস করে, যা সরাসরি কক্ষের পঠন এবং লেখার কার্যকারিতা প্রদান করে। অন্যান্য দিক, যেমন শীট যোগ করা বা শীট বৈশিষ্ট্য আপডেট করা স্প্রেডশীট সংগ্রহ দ্বারা পরিচালিত হয়। মনে রাখবেন যে v4 API-এর JSON স্ট্রাকচারগুলি v3 তে ব্যবহৃত XML স্ট্রাকচারের সাথে পিছিয়ে-সামঞ্জস্যপূর্ণ নয়।

পত্রক v4 API-এ উপলব্ধ সংস্থানগুলি সম্পর্কে আরও তথ্যের জন্য, API রেফারেন্স দেখুন।

স্বরলিপি এবং শর্তাবলী

v3 API একটি নির্দিষ্ট স্প্রেডশীটের মধ্যে শীটগুলিকে "ওয়ার্কশীট" হিসাবে উল্লেখ করে। এটি "শীট" শব্দের সমার্থক যা v4 API ব্যবহার করে।

আপনি যে স্প্রেডশীটের সাথে কাজ করছেন তার একটি স্প্রেডশীট আইডি নির্দিষ্ট করতে API-র জন্য প্রায়ই প্রয়োজন হয়। তারা প্রায়শই পত্রকটির আইডি ম্যানিপুলেট করা প্রয়োজন। এই মানগুলি হয় API এন্ডপয়েন্ট URL এর অংশ হিসাবে, ক্যোয়ারী প্যারামিটার হিসাবে বা একটি অনুরোধের অংশ হিসাবে প্রদর্শিত হয়৷ এই পৃষ্ঠায়, স্থানধারক spreadsheetId এবং sheetId যথাক্রমে স্প্রেডশীট এবং শীট আইডি উল্লেখ করে। এই পৃষ্ঠায় বর্ণিত পদ্ধতিগুলি ব্যবহার করার সময়, এই অবস্থানগুলিতে প্রকৃত আইডিগুলি প্রতিস্থাপন করুন৷

v3 API তার তালিকা ফিড ব্যবহার করে পুনরুদ্ধার করা সারিগুলিতে একটি আইডি বরাদ্দ করে; এটি এই পৃষ্ঠায় rowId স্থানধারক দ্বারা প্রতিনিধিত্ব করা হয়।

অনুরোধ অনুমোদন

যখন আপনার অ্যাপটি চলে, তখন এটি ব্যবহারকারীদের নির্দিষ্ট অনুমতি দিতে বলে; আপনি আপনার অ্যাপ্লিকেশনে যে স্কোপগুলি নির্দিষ্ট করেছেন তা নির্ধারণ করে যে এটি কোন অনুমতি চায়৷

v3 API

শীট API v3 একটি একক অনুমোদনের সুযোগের সাথে কাজ করে:

https://spreadsheets.google.com/feeds

যার জন্য একটি উপনাম

https://www.googleapis.com/auth/spreadsheets

উভয় সুযোগ বিন্যাস ব্যবহার করা যেতে পারে.

v4 API

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

পত্রক API v3 সরাসরি এর শেষ পয়েন্টে দৃশ্যমানতা প্রকাশ করে। একটি public স্প্রেডশীট "ওয়েবে প্রকাশিত" হয়েছে এবং এইভাবে অনুমোদন ছাড়াই API দ্বারা অ্যাক্সেস করা যেতে পারে, যখন একটি private স্প্রেডশীট প্রমাণীকরণের প্রয়োজন হয়। স্প্রেডশীট আইডির পরে এন্ডপয়েন্টে দৃশ্যমানতা নির্দিষ্ট করা হয়েছে:

https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full

v4 API

নতুন পত্রক API v4-এ, দৃশ্যমানতার কোনো স্পষ্ট ঘোষণা নেই। API কল স্প্রেডশীট আইডি ব্যবহার করে করা হয়. যদি অ্যাপ্লিকেশনটির নির্দিষ্ট স্প্রেডশীট অ্যাক্সেস করার অনুমতি না থাকে তবে একটি ত্রুটি ফেরত দেওয়া হয়। অন্যথায় কল এগিয়ে.

অভিক্ষেপ

প্রজেকশন শব্দটি Sheets API v3 দ্বারা ডেটার সেট বোঝাতে ব্যবহৃত হয় যা একটি প্রদত্ত API কল দ্বারা ফেরত দেওয়া হয়—হয় এটির সমস্ত, অথবা API-এর মধ্যে সংজ্ঞায়িত একটি নির্দিষ্ট উপসেট। Sheets API v4 প্রজেকশন ব্যবহার করে না; বরং, এটি আপনাকে কী ডেটা ফেরত দেওয়া হয় তার উপর আরও নিয়ন্ত্রণ করতে দেয়।

v3 API

পত্রক API v3 তে শুধুমাত্র দুটি সম্ভাব্য প্রজেকশন সেটিংস রয়েছে৷ full প্রজেকশন সমস্ত উপলব্ধ তথ্য প্রদান করে, যেখানে basic তথ্যের একটি ছোট, নির্দিষ্ট উপসেট প্রদান করে (ওয়ার্কশীট, তালিকা এবং সেল ফিডের জন্য)। দৃশ্যমানতার মতো, প্রজেকশনটি অবশ্যই API এন্ডপয়েন্টে নির্দিষ্ট করতে হবে (দৃশ্যমানতা সেটিং এর পরে):

https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/public/basic

basic অভিক্ষেপ দ্বারা প্রদত্ত ডেটার ছোট উপসেট কোডকে আরও দক্ষ করার জন্য মূল্যবান, কিন্তু কাস্টমাইজ করা যায় না।

v4 API

যদিও শীট API v4 একটি সম্পূর্ণ ডেটা সেট ফেরত দিতে পারে, এটি শীট API v3-এর basic দৃশ্যমানতার সাথে সাদৃশ্যপূর্ণ স্থির উপসেটগুলিকে সংজ্ঞায়িত করে না। স্প্রেডশীট সংগ্রহের পদ্ধতিগুলি একটি ক্ষেত্র ক্যোয়ারী প্যারামিটার ব্যবহার করে তারা যে পরিমাণ ডেটা ফেরত দেয় তা সীমাবদ্ধ করে।

উদাহরণস্বরূপ, নিম্নলিখিত ক্যোয়ারী শুধুমাত্র একটি নির্দিষ্ট স্প্রেডশীটে সমস্ত পত্রকের শিরোনাম প্রদান করে:

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties.title

একটি স্প্রেডশীট তৈরি করুন

v3 API

শীট API v3 নতুন স্প্রেডশীট তৈরি করার উপায় প্রদান করে না; পরিবর্তে, নতুন স্প্রেডশীট ফাইল তৈরি করতে ড্রাইভ API Files.create পদ্ধতি ব্যবহার করা যেতে পারে। এর জন্য https://www.googleapis.com/auth/drive স্কোপ ঘোষণা করার জন্য অ্যাপ্লিকেশনটির প্রয়োজন।

v4 API

ড্রাইভ API Files.create পদ্ধতিটি Sheets API v4-এর সাথেও ব্যবহার করা যেতে পারে, কিন্তু https://www.googleapis.com/auth/drive স্কোপ প্রদান করতে অ্যাপ্লিকেশনটির প্রয়োজন।

একটি সমতুল্য বিকল্প হিসাবে, Sheets API v4 একটি স্প্রেডশীট তৈরি পদ্ধতি প্রদান করে, যা ঐচ্ছিকভাবে শীট যোগ করতে পারে, স্প্রেডশীট এবং শীট বৈশিষ্ট্য সেট করতে পারে এবং নামযুক্ত রেঞ্জ যোগ করতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত একটি নতুন স্প্রেডশীট তৈরি করে এবং এটিকে "NewTitle" নাম দেয়:

POST https://sheets.googleapis.com/v4/spreadsheets
{
 "properties": {"title": "NewTitle"}
}

প্রমাণীকৃত ব্যবহারকারীর জন্য স্প্রেডশীট তালিকা করুন

v3 API

শীট API v3 ফিড একটি অ্যাপ্লিকেশনকে প্রমাণীকৃত ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য সমস্ত স্প্রেডশীটের একটি তালিকা পুনরুদ্ধার করার অনুমতি দেয়৷ স্প্রেডশীট ফিড এন্ডপয়েন্ট হল:

GET https://spreadsheets.google.com/feeds/spreadsheets/private/full

v4 API

পত্রক API v4 এই নির্দিষ্ট অপারেশন প্রদান করে না। আমরা স্প্রেডশীট নির্বাচনের জন্য Google পিকারের সাথে সংমিশ্রণে drive.file স্কোপ ব্যবহার করতে আপনার অ্যাপটিকে স্থানান্তরিত করার পরামর্শ দিই।

যে ক্ষেত্রে স্প্রেডশীটগুলি তালিকাভুক্ত করা প্রয়োজন, এটি একটি mimeType ক্যোয়ারী ব্যবহার করে ড্রাইভ API Files.list পদ্ধতির মাধ্যমে প্রতিলিপি করা যেতে পারে:

GET https://www.googleapis.com/drive/v3/files
             ?q=mimeType='application/vnd.google-apps.spreadsheet'

ব্যবহারকারীর সমস্ত স্প্রেডশীট তালিকাভুক্ত করতে ড্রাইভ 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

Spreadsheets.get পদ্ধতিটি শীট বৈশিষ্ট্য এবং অন্যান্য মেটাডেটা অর্জনের জন্য ব্যবহার করা যেতে পারে - Sheets 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 API

আপনি spreadsheets.batchUpdate পদ্ধতিতে একটি AddSheet অনুরোধ করে নতুন শীট যোগ করতে পারেন। অনুরোধের অংশ হিসাবে, আপনি নতুন শীটের জন্য শীটের বৈশিষ্ট্যগুলি নির্দিষ্ট করতে পারেন; সমস্ত বৈশিষ্ট্য ঐচ্ছিক। একটি বিদ্যমান পত্রকের জন্য ব্যবহৃত একটি শিরোনাম প্রদান করা একটি ত্রুটি৷

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [{
      "addSheet": {
          "properties": {
            "title": "Expenses",
            "sheetType": "GRID",
            "gridProperties": {
              "rowCount": 50,
              "columnCount": 10
            }
          }
      }
  }],
}

একটি শীট শিরোনাম এবং আকার পরিবর্তন করুন

পত্রক API v3 আপনাকে শীট শিরোনাম এবং আকার আপডেট করতে দেয়; পত্রক 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 API

আকার, শিরোনাম এবং অন্যান্য শীট বৈশিষ্ট্য আপডেট করতে, স্প্রেডশীট.ব্যাচআপডেট পদ্ধতিতে একটি আপডেটশিটপ্রপার্টি অনুরোধ করুন। 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 পুনরুদ্ধার করতে, স্প্রেডশীট স্প্রেডশীট.গেট পদ্ধতি ব্যবহার করুন।

একটি শীট মুছুন

হয় API একটি প্রদত্ত স্প্রেডশীট থেকে শীটগুলি সরাতে পারে৷

v3 API

একটি ওয়ার্কশীট মুছে ফেলার জন্য, ওয়ার্কশীট ফিড পুনরুদ্ধার করে শুরু করুন, তারপর টার্গেট ওয়ার্কশীট এন্ট্রির edit URL-এ একটি DELETE অনুরোধ পাঠান৷

DELETE https://spreadsheets.google.com/feeds/worksheets/spreadsheetId/private/full/sheetId/version

v4 API

একটি শীট মুছে ফেলার জন্য, স্প্রেডশীট.ব্যাচআপডেট পদ্ধতিতে একটি DeleteSheet অনুরোধ করুন৷ POST অনুরোধের মূল অংশে শীটটি মুছে ফেলার জন্য শুধুমাত্র sheetId থাকা উচিত। যেমন:

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": sheetId
      }
    }
  ],
}

একটি পৃথক পত্রকের sheetId পুনরুদ্ধার করতে, স্প্রেডশীট স্প্রেডশীট.গেট পদ্ধতি ব্যবহার করুন।

সারি ডেটা পুনরুদ্ধার করুন

তালিকা সারি ফিড হল দুটি পদ্ধতির মধ্যে একটি যা Sheets API v3 একটি স্প্রেডশীটের ঘরের মধ্যে ডেটা অ্যাক্সেস করার জন্য প্রদান করে (অন্যটি হল সেল ফিড )। সারি ফিডটি সাধারণ স্প্রেডশীট ক্রিয়াকলাপগুলিকে সমর্থন করার জন্য বোঝানো হয় (সারি দ্বারা সারি পড়া, সারি যুক্ত করা, বাছাই করা), তবে কিছু অনুমান তৈরি করে যা কিছু কাজের জন্য এটিকে অনুপযুক্ত করে। বিশেষভাবে, তালিকা ফিড ধরে নেয় যে ফাঁকা সারিগুলি ফিডের সমাপ্তি, এবং বাধ্যতামূলক শিরোনামগুলি একটি শীটের প্রথম সারিতে উপস্থিত থাকে।

বিপরীতে, Sheets API v4 সারি-নির্দিষ্ট অ্যাক্সেস পদ্ধতি ব্যবহার করে না। পরিবর্তে, A1 স্বরলিপি ব্যবহার করে প্রয়োজনীয় নির্দিষ্ট ব্যাপ্তি উল্লেখ করে শীট সেল ডেটা অ্যাক্সেস করা হয়। ব্যাপ্তিগুলি ঘরের ব্লক, সম্পূর্ণ সারি, সম্পূর্ণ কলাম বা সম্পূর্ণ শীট হতে পারে। এপিআই কোষের বিচ্ছিন্ন সেটগুলিকেও অ্যাক্সেস করতে পারে।

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:lastname

শীট এপিআই v3 একটি স্ট্রাকচার্ড কোয়েরির মাধ্যমে নির্দিষ্ট সারি ফিল্টার করার অনুমতি দেয় (কলাম হেডার দ্বারা উল্লেখ করা হয়েছে):

GET https://spreadsheets.google.com/feeds/list/spreadsheetId/sheetId/private/full
             ?sq=age>25%20and%20height<175

v4 API

Sheets API v4 এর মাধ্যমে, spreadsheets.values.get বা spreadsheets.values.batchGet পদ্ধতি ব্যবহার করে রেঞ্জ অনুসারে সারিগুলি পুনরুদ্ধার করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতগুলি "শীট1"-এ সমস্ত সারি প্রদান করে:

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-এর পত্রক 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 API

Sheets API v4 দিয়ে, আপনি spreadsheets.values.append পদ্ধতি ব্যবহার করে সারি যোগ করতে পারেন। নিম্নলিখিত উদাহরণটি একটি স্প্রেডশীটের "শীট1"-এ শেষ টেবিলের নীচে ডেটার একটি নতুন সারি লেখে।

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/append/Sheet1

{
   "values": [["Elizabeth", "2", "0.5", "60"]]
}

উপরন্তু, Sheets API v4 আপনাকে স্প্রেডশীট. 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 API

Sheets API v4 এর মাধ্যমে, আপনি যে সারিটি সম্পাদনা করতে চান তার A1 স্বরলিপি ব্যবহার করে একটি সারি সম্পাদনা করতে পারেন এবং সেই সারিটিকে ওভাররাইট করার জন্য একটি স্প্রেডশীট.values.update অনুরোধ জারি করতে পারেন৷ নির্দিষ্ট পরিসর শুধুমাত্র সারির প্রথম কক্ষটি উল্লেখ করতে হবে; API অনুরোধের সাথে প্রদত্ত মানগুলির উপর ভিত্তি করে আপডেট করার জন্য কোষগুলিকে অনুমান করে৷ আপনি যদি পরিবর্তে একটি বহু-কোষ পরিসর নির্দিষ্ট করেন, আপনার প্রদান করা মানগুলি অবশ্যই সেই পরিসরের মধ্যে ফিট করতে হবে; যদি না হয় API একটি ত্রুটি প্রদান করে।

নিম্নলিখিত উদাহরণ অনুরোধ এবং অনুরোধের বডি "শীট1" এর চতুর্থ সারিতে ডেটা যোগ করে:

PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A4
{
   "values": [["Elizabeth", "2", "0.5", "60"]]
}

এছাড়াও আপনি spreadsheet.values.batchUpdate পদ্ধতি থেকে সারি ডেটা আপডেট করতে পারেন; আপনি যদি একাধিক সারি বা সেল আপডেট করেন তবে এই পদ্ধতিটি ব্যবহার করা আরও কার্যকর।

উপরন্তু, Sheets API v4 আপনাকে স্প্রেডশীট. 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 API

DeleteDimension অনুরোধ ব্যবহার করে Sheets API v4 দিয়ে সারি মুছে ফেলা একটি স্প্রেডশীট .batchUpdate পদ্ধতি কল দ্বারা পরিচালিত হয়। এই অনুরোধটি কলাম এবং ডেভেলপারদের সরাতে এবং শুধুমাত্র একটি সারি বা কলামের অংশ মুছে ফেলার জন্য ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিতটি প্রদত্ত আইডি সহ একটি শীটের 6 তম সারি সরিয়ে দেয় (সারি সূচকগুলি শূন্য-ভিত্তিক, স্টার্ট ইনডেক্স সহ এবং এন্ড ইনডেক্স এক্সক্লুসিভ):

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 একটি শীট থেকে (একাধিক ডিসজয়েন্ট রেঞ্জ সহ) সেল ডেটার যেকোন সেট পুনরুদ্ধার করতে পারে। শীট API v3 শুধুমাত্র ইনপুট মান হিসাবে সেল বিষয়বস্তু ফেরত দিতে পারে (যেমন একটি কীবোর্ডে একজন ব্যবহারকারী প্রবেশ করবে) এবং/অথবা সূত্রের আউটপুট (যদি সংখ্যাসূচক); শীট 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=4

পত্রক API v3 পুনরুদ্ধার করা কক্ষগুলির inputValue প্রদান করে—যে মানটি একজন ব্যবহারকারী অন্যথায় Google পত্রক ব্যবহারকারী ইন্টারফেসে টাইপ করে সেলটি ম্যানিপুলেট করতে। inputValue একটি আক্ষরিক মান বা একটি সূত্র হতে পারে। এপিআই কখনও কখনও একটি 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 API

একটি স্প্রেডশীট.values.get বা স্প্রেডশীট.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"]]
      }]
}

আপনি যদি সেল ডেটার একাধিক পরিসর পুনরুদ্ধার করতে চান তাহলে স্প্রেডশিট.values.batchGet ব্যবহার করা আরও কার্যকর। আপনি যদি বিন্যাসের মতো সেল বৈশিষ্ট্যগুলি অ্যাক্সেস করতে চান তবে স্প্রেডশিট.গেট পদ্ধতিটি প্রয়োজন৷

একটি ঘর সম্পাদনা করুন

Sheets API v3 আপনাকে অনুরোধের বডি হিসাবে পরিবর্তিত সেল এন্ট্রি সহ সেল ফিডে একটি PUT কমান্ড জারি করে সেল সামগ্রী সম্পাদনা করতে দেয়৷

পত্রক API v4, বিপরীতে, সেল সামগ্রী পরিবর্তনের জন্য স্প্রেডশীট.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 API

Sheets API v4-এ একক ঘর সম্পাদনা স্প্রেডশীট.values.update পদ্ধতির মাধ্যমে করা যেতে পারে। এই পদ্ধতিটির জন্য একটি ValueInputOption ক্যোয়ারী প্যারামিটার প্রয়োজন, যা নির্দিষ্ট করে যে ইনপুট ডেটাটিকে শীট UI ( USER_ENTERED ) এ প্রবেশ করানো হয়েছে কিনা বা বিশ্লেষণ না করে রেখে দেওয়া হয়েছে এবং ( RAW ) হিসাবে নেওয়া হয়েছে৷ উদাহরণস্বরূপ, নিম্নলিখিত আপডেটগুলি একটি সূত্র সহ সেল D2:

PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/D2?valueInputOption=USER_ENTERED
{"values": [["=SUM(A1:B6)"]]}

আপনি যদি একাধিক কক্ষ সম্পাদনা করছেন, একটি অনুরোধে সেগুলি ইস্যু করতে স্প্রেডশীট.values.batchUpdate পদ্ধতি ব্যবহার করুন৷

ব্যাচ অনুরোধের মাধ্যমে একাধিক কক্ষ সম্পাদনা করুন

উভয় APIই একটি একক (ব্যাচ) অনুরোধ সহ একাধিক কক্ষের বিষয়বস্তুতে পরিবর্তন করার উপায় সরবরাহ করে। একটি ব্যাচ অনুরোধ দ্বারা উল্লেখ করা কক্ষগুলি একটি ধারাবাহিক পরিসরে থাকার প্রয়োজন নেই৷

ব্যাচের এক বা একাধিক কক্ষের সম্পাদনা ব্যর্থ হলে, Sheets API v3 অন্যদের সফল হতে দেয়। যাইহোক, ব্যাচ করা আপডেটগুলির মধ্যে যেকোনও ব্যর্থ হলে পত্রক 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 API

Sheets API v4 স্প্রেডশীট.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 একটি ত্রুটি প্রদান করে।