Sheets API v3 से माइग्रेट करें

अगर आपके पास Google Sheets API v3 पर आधारित ऐप्लिकेशन मौजूद हैं, तो Google Sheets API v4 पर माइग्रेट किया जा सकता है. v4 वर्शन, JSON पर आधारित है. इसका इंटरफ़ेस आसानी से इस्तेमाल किया जा सकता है. साथ ही, इसमें ऐसी कई सुविधाएं हैं जो वर्शन 3 वर्शन में काम नहीं करतीं.

इस पेज पर पुराने Sheets API v3 कमांड और Sheets API v4 में उनकी मिलती-जुलती कार्रवाइयों के बीच मैपिंग की जानकारी दी गई है. मैपिंग में मुख्य तौर पर, spreadsheets.values कलेक्शन पर फ़ोकस होता है, जो सेल में सीधे तौर पर पढ़ने और लिखने की सुविधा देता है. शीट जोड़ने या शीट प्रॉपर्टी अपडेट करने जैसे दूसरे पहलू, स्प्रेडशीट कलेक्शन मैनेज करते हैं. ध्यान दें कि v4 API के JSON स्ट्रक्चर, v3 में इस्तेमाल किए गए एक्सएमएल स्ट्रक्चर के साथ पुराने सिस्टम के साथ काम नहीं करते.

Sheets v4 API में उपलब्ध संसाधनों के बारे में ज़्यादा जानने के लिए, एपीआई का रेफ़रंस देखें.

नोटेशन और शर्तें

v3 API किसी खास स्प्रेडशीट में मौजूद शीट को "वर्कशीट" के तौर पर दिखाता है. यह v4 API में इस्तेमाल होने वाली "शीट" शब्द के समान है.

एपीआई के लिए अक्सर आपको उस स्प्रेडशीट का स्प्रेडशीट आईडी बताने की ज़रूरत होती है जिस पर काम किया जा रहा है. इनमें अक्सर बदलाव की जा रही शीट के आईडी की भी ज़रूरत होती है. ये वैल्यू, एपीआई एंडपॉइंट यूआरएल के हिस्से के तौर पर, क्वेरी पैरामीटर के तौर पर या अनुरोध के मुख्य हिस्से के तौर पर दिखती हैं. इस पेज पर, प्लेसहोल्डर spreadsheetId और sheetId का मतलब स्प्रेडशीट और शीट आईडी से है. इस पेज पर बताए गए तरीकों का इस्तेमाल करते समय, इन जगहों के असली आईडी बदलें.

v3 API अपनी सूची फ़ीड का इस्तेमाल करके हासिल की गई पंक्तियों को भी एक आईडी असाइन करता है. इसे इस पेज में rowId प्लेसहोल्डर से दिखाया जाता है.

अनुरोधों को अनुमति दें

जब आपका ऐप्लिकेशन चलता है, तो वह उपयोगकर्ताओं से कुछ अनुमतियां देने के लिए कहता है. ऐप्लिकेशन में आपने जो दायरे तय किए हैं उनसे यह तय होता है कि उसे कौनसी अनुमतियां चाहिए.

वर्शन 3 एपीआई

Sheets API v3, अनुमति देने के एक स्कोप के साथ काम करता है:

https://spreadsheets.google.com/feeds

जो इसके लिए एक उपनाम है

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

स्कोप फ़ॉर्मैट का इस्तेमाल किया जा सकता है.

वर्शन 4 एपीआई

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

अगर आपके ऐप्लिकेशन को उपयोगकर्ता की शीट या शीट की प्रॉपर्टी में बदलाव करने की ज़रूरत नहीं है, तो रीड-ओनली स्कोप का इस्तेमाल करें. अगर ऐप्लिकेशन को Google Drive के सामान्य ऐक्सेस की ज़रूरत नहीं है, तो Drive के स्कोप के बजाय स्प्रेडशीट के स्कोप का इस्तेमाल करें.

किसको दिखे

एपीआई के पुराने वर्शन में, किसको दिखे शब्द का इस्तेमाल, किसी स्प्रेडशीट की उपलब्धता के बारे में बताने के लिए किया जाता है.

वर्शन 3 एपीआई

Sheets API v3, उसे सीधे अपने एंडपॉइंट में दिखाता है. public स्प्रेडशीट को "वेब पर पब्लिश" किया गया है. इसलिए, एपीआई की मदद से उसे बिना अनुमति के ऐक्सेस किया जा सकता है. हालांकि, private स्प्रेडशीट के लिए पुष्टि करने की ज़रूरत होती है. 'किसको दिखे' सेटिंग, एंडपॉइंट में स्प्रेडशीट आईडी के बाद बताई जाती है:

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

वर्शन 4 एपीआई

Sheets के नए एपीआई v4 में, यह साफ़ तौर पर नहीं बताया गया है कि फ़ाइल किसे दिखेगी. एपीआई कॉल, स्प्रेडशीट आईडी का इस्तेमाल करके किए जाते हैं. अगर ऐप्लिकेशन को खास स्प्रेडशीट को ऐक्सेस करने की अनुमति नहीं है, तो एक गड़बड़ी दिखती है. ऐसा न करने पर कॉल जारी रहता है.

अनुमान की रिपोर्ट

प्रोजेक्शन शब्द का इस्तेमाल, Sheets API v3 में डेटा के उस सेट के बारे में बताने के लिए किया जाता है जो एपीआई कॉल से या पूरे डेटा या एपीआई में तय किए गए सबसेट से मिलता है. Sheets API v4, प्रोजेक्शन का इस्तेमाल नहीं करता है. इसकी मदद से, आपको मिले डेटा पर ज़्यादा कंट्रोल मिलता है.

वर्शन 3 एपीआई

Sheets API v3 में, सिर्फ़ दो तरह की प्रोजेक्शन सेटिंग हो सकती हैं. full अनुमान से सारी उपलब्ध जानकारी मिलती है, जबकि basic डेटा का छोटा, तय सबसेट (वर्कशीट, सूची, और सेल फ़ीड के लिए) दिखाता है. प्रोजेक्ट दिखने की तरह ही, प्रोजेक्शन को एपीआई एंडपॉइंट में तय किया जाना चाहिए (किसको दिखे सेटिंग के बाद):

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

basic प्रोजेक्शन से मिले डेटा का छोटा सबसेट, कोड को ज़्यादा असरदार बनाने के लिए काम का होता है, लेकिन इसे पसंद के मुताबिक नहीं बनाया जा सकता.

वर्शन 4 एपीआई

Sheets API v4 में पूरा डेटा सेट दिखाया जा सकता है, लेकिन यह Sheets API v3 की basic 'किसको दिखे' सेटिंग की तरह तय किए गए सबसेट तय नहीं करता. स्प्रेडशीट कलेक्शन के तरीके, फ़ील्ड क्वेरी पैरामीटर का इस्तेमाल करके लौटाए जाने वाले डेटा की मात्रा को सीमित करते हैं.

उदाहरण के लिए, नीचे दी गई क्वेरी सिर्फ़ किसी खास स्प्रेडशीट की सभी शीट के शीर्षक दिखाती है:

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

स्प्रेडशीट बनाएं

वर्शन 3 एपीआई

Sheets API v3 में नई स्प्रेडशीट बनाने की सुविधा नहीं है. इसके बजाय, नई स्प्रेडशीट फ़ाइलें बनाने के लिए, Drive API Files.create तरीके का इस्तेमाल किया जा सकता है. इसके लिए, ऐप्लिकेशन को https://www.googleapis.com/auth/drive स्कोप का एलान करना ज़रूरी है.

वर्शन 4 एपीआई

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"}
}

प्रमाणित उपयोगकर्ता के लिए स्प्रेडशीट की सूची बनाना

वर्शन 3 एपीआई

Sheets API v3 फ़ीड की मदद से कोई ऐप्लिकेशन उन सभी स्प्रेडशीट की सूची हासिल कर सकता है जिन्हें पुष्टि किया गया उपयोगकर्ता ऐक्सेस कर सकता है. स्प्रेडशीट फ़ीड का एंडपॉइंट यह है:

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

वर्शन 4 एपीआई

Sheets API v4 में यह खास कार्रवाई नहीं की जाती. हमारा सुझाव है कि स्प्रेडशीट चुनने के लिए Google पिकर के साथ-साथ 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 तरीके का इस्तेमाल करके, इस जानकारी के साथ-साथ और भी बहुत कुछ ऐक्सेस किया जा सकता है.

वर्शन 3 एपीआई

वर्कशीट फ़ीड को इस एपीआई एंडपॉइंट से ऐक्सेस किया जा सकता है (सही ऑथराइज़ेशन हेडर का इस्तेमाल करके):

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>

वर्शन 4 एपीआई

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
          },
          ...
       },
       ...
      },
      ...
  ],
  ...
}

किसी स्प्रेडशीट में शीट जोड़ना

दोनों एपीआई आपको किसी मौजूदा स्प्रेडशीट में नई शीट जोड़ने की सुविधा देते हैं.

वर्शन 3 एपीआई

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>

वर्शन 4 एपीआई

आपके पास 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 की मदद से भी इसकी अनुमति दी जा सकती है. हालांकि, इसका इस्तेमाल शीट की दूसरी प्रॉपर्टी को अपडेट करने के लिए भी किया जा सकता है. ध्यान दें कि शीट का साइज़ कम करने से, काटे गए सेल का डेटा बिना किसी चेतावनी के मिट सकता है.

वर्शन 3 एपीआई

किसी वर्कशीट का टाइटल या साइज़ बदलने के लिए, वर्कशीट फ़ीड को वापस लाएं और अपनी पसंद की वर्कशीट एंट्री ढूंढें, जिसमें एक edit यूआरएल शामिल है. वर्कशीट का मेटाडेटा अपडेट करें और इसे PUT अनुरोध के मुख्य हिस्से के तौर पर, बदलाव करने वाले यूआरएल पर भेजें. उदाहरण के लिए:

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>

वर्शन 4 एपीआई

साइज़, टाइटल, और शीट की अन्य प्रॉपर्टी को अपडेट करने के लिए, 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 तरीके का इस्तेमाल करें.

किसी शीट को मिटाना

कोई भी एपीआई, दी गई स्प्रेडशीट से शीट को हटा सकता है.

वर्शन 3 एपीआई

किसी वर्कशीट को मिटाने के लिए, वर्कशीट फ़ीड को वापस लाएं. इसके बाद, टारगेट वर्कशीट के edit यूआरएल पर DELETE अनुरोध भेजें.

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

वर्शन 4 एपीआई

किसी शीट को मिटाने के लिए, 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 नोटेशन का इस्तेमाल करके, ज़रूरी रेंज का रेफ़रंस देकर शीट सेल के डेटा को ऐक्सेस किया जाता है. रेंज सेल के ब्लॉक, पूरी पंक्ति, पूरे कॉलम या पूरी शीट हो सकती हैं. एपीआई, सेल के अलग-अलग सेट को भी ऐक्सेस कर सकता है.

वर्शन 3 एपीआई

किसी वर्कशीट के लिए सूची-आधारित फ़ीड का यूआरएल तय करने के लिए, वर्कशीट फ़ीड को फिर से पाएं और पसंद की वर्कशीट एंट्री में लिस्ट फ़ीड का यूआरएल ढूंढें.

सूची-आधारित फ़ीड को फिर से पाने के लिए, सही अनुमति वाले हेडर का इस्तेमाल करके सूची फ़ीड के यूआरएल पर 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>

डिफ़ॉल्ट रूप से, लिस्ट फ़ीड में दिखने वाली लाइनें, लाइन के क्रम में दिखती हैं. Sheets 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

Sheets API v3, स्ट्रक्चर्ड क्वेरी (कॉलम हेडर के ज़रिए रेफ़र की गई) से खास पंक्तियों को फ़िल्टर करने की भी अनुमति देता है:

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

वर्शन 4 एपीआई

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 स्ट्रक्चर्ड क्वेरी का इस्तेमाल नहीं किया जा सकता. हालांकि, आपके पास काम का डेटा वापस पाने और उसे अपने ऐप्लिकेशन में ज़रूरत के मुताबिक क्रम में लगाने का विकल्प होता है.

डेटा की नई लाइन जोड़ें

आपके पास किसी भी एपीआई का इस्तेमाल करके, शीट में डेटा की नई लाइन जोड़ने का विकल्प होता है.

वर्शन 3 एपीआई

किसी वर्कशीट के लिए सूची-आधारित फ़ीड का यूआरएल तय करने के लिए, वर्कशीट फ़ीड को फिर से पाएं और पसंद की वर्कशीट एंट्री में पोस्ट का यूआरएल ढूंढें.

डेटा की एक पंक्ति जोड़ने के लिए, सही अनुमति वाले हेडर का इस्तेमाल करके पोस्ट के यूआरएल पर 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>

बताई गई शीट के आखिर में नई पंक्तियां जोड़ी जाती हैं.

वर्शन 4 एपीआई

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 अनुरोधों का इस्तेमाल करें.

नए डेटा वाली पंक्ति में बदलाव करना

दोनों एपीआई, लाइन के डेटा को नई वैल्यू के साथ अपडेट करने की अनुमति देते हैं.

वर्शन 3 एपीआई

डेटा की किसी लाइन में बदलाव करने के लिए, सूची फ़ीड देखें. इससे आपको अपडेट की जाने वाली लाइन की एंट्री ढूंढने में मदद मिलेगी. उस एंट्री के कॉन्टेंट को ज़रूरत के हिसाब से अपडेट करें. पक्का करें कि आपने जो एंट्री इस्तेमाल की है उसमें आईडी की जो वैल्यू दी गई है वह मौजूदा एंट्री के आईडी से पूरी तरह मैच करती हो.

एंट्री अपडेट होने के बाद, लाइन एंट्री में दिए गए edit यूआरएल पर, अनुरोध के मुख्य हिस्से के तौर पर एंट्री के साथ 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>

वर्शन 4 एपीआई

Sheets API v4 की मदद से उस पंक्ति के A1 नोटेशन का इस्तेमाल करके, उस पंक्ति में बदलाव किया जा सकता है जिसमें आपको बदलाव करना है. साथ ही, उस पंक्ति को ओवरराइट करने के लिए, spreadsheets.values.update का अनुरोध करें. ज़रूरी है कि रेंज में सिर्फ़ पंक्ति की पहली सेल का संदर्भ दिया गया हो. एपीआई, अनुरोध के साथ दी गई वैल्यू के आधार पर सेल का अनुमान लगाता है. इसके बजाय, अगर एक से ज़्यादा सेल वाली रेंज तय की जाती है, तो आपकी दी गई वैल्यू उस रेंज में फ़िट होनी चाहिए. ऐसा न होने पर, एपीआई गड़बड़ी दिखाता है.

अनुरोध और अनुरोध का मुख्य हिस्सा "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 फ़ाइलों का इस्तेमाल करके ऐसा किया जाता है.

कोई पंक्ति मिटाना

दोनों एपीआई में लाइनें मिटाई जा सकती हैं. एक हटाई गई पंक्ति स्प्रेडशीट से निकाल दी जाती है और उसके नीचे की पंक्तियों को एक पंक्ति ऊपर धकेल दिया जाता है.

वर्शन 3 एपीआई

किसी लाइन को मिटाने के लिए, सबसे पहले उस लाइन को फिर से पाएं, ताकि उसे सूची फ़ीड से मिटाया जा सके. इसके बाद, लाइन की एंट्री में दिए गए edit यूआरएल पर DELETE अनुरोध भेजें. यह वही यूआरएल है जिसका इस्तेमाल लाइन को अपडेट करने के लिए किया गया है.

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

अगर आपको यह पक्का करना है कि किसी ऐसी लाइन को न मिटाया जाए जिसे किसी दूसरे क्लाइंट ने वापस पाने के बाद बदला है, तो ऐसा एचटीटीपी अगर-मैच हेडर शामिल करें जिसमें मूल लाइन की ETag वैल्यू शामिल हो. एंट्री एलिमेंट के gd:etag एट्रिब्यूट की जांच करके, मूल पंक्ति की ETag वैल्यू तय की जा सकती है.

अगर आपको लाइन मिटानी है, तो इस बात पर ध्यान दिए बिना किसी अन्य व्यक्ति ने उसे अपडेट किया है कि आपने उसे वापस पाने के बाद से लाइन को अपडेट किया है या नहीं, तो अगर आपको लाइन का मिलान: * है और ETag को शामिल न करें, तो ऐसा करें. (इस मामले में, आपको पंक्ति को हटाने से पहले उसे पुनर्प्राप्त करने की ज़रूरत नहीं है.)

वर्शन 4 एपीआई

Sheets API v4 से पंक्तियों को मिटाने के लिए, spreadsheet.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 को spreadsheet.get तरीके का इस्तेमाल करके वापस पाया जा सकता है.

सेल डेटा फिर से पाएं

Sheets API v3 में एक सेल फ़ीड होता है, जिससे स्प्रेडशीट में सेव किए गए पूरे डेटा का बुनियादी ऐक्सेस मिलता है. पढ़ने का ऐक्सेस देने के लिए, सेल फ़ीड, क्वेरी पैरामीटर के सेट की मदद से शीट का पूरा कॉन्टेंट या शीट में सेल की रेंज उपलब्ध करा सकता है. हालांकि, सिर्फ़ एक ब्लॉक के तौर पर, अलग-अलग रेंज को फिर से पाने के लिए, अतिरिक्त GET अनुरोधों का इस्तेमाल करना होगा.

Sheets API v4, किसी शीट से सेल डेटा का कोई भी सेट वापस ला सकता है. इसमें एक से ज़्यादा रेंज से जुड़ी समस्याएं शामिल होती हैं. Sheets API v3, सेल के कॉन्टेंट को सिर्फ़ इनपुट वैल्यू (जैसा कि उपयोगकर्ता कीबोर्ड पर डाला जाएगा) और/या फ़ॉर्मूला के आउटपुट (अगर संख्या वाला हो) के तौर पर दिखा सकता है. Sheets API v4, वैल्यू, फ़ॉर्मूला, फ़ॉर्मैटिंग, हाइपरलिंक, डेटा वैलिडेशन, और अन्य प्रॉपर्टी का पूरा ऐक्सेस देता है.

वर्शन 3 एपीआई

किसी वर्कशीट के लिए सेल-आधारित फ़ीड का यूआरएल तय करने के लिए, वर्कशीट फ़ीड की जांच करें और अपनी पसंद की वर्कशीट एंट्री में सेल फ़ीड का यूआरएल ढूंढें.

सेल-आधारित फ़ीड को फिर से पाने के लिए, सही अनुमति वाले हेडर का इस्तेमाल करके सेल फ़ीड के यूआरएल पर GET अनुरोध भेजें. उदाहरण के लिए:

GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full

पंक्ति और कॉलम की संख्या का इस्तेमाल करके सेल का रेफ़रंस दिया जाता है. किसी एक रेंज को फ़ेच करने के लिए, max-row, min-row, max-col, और min-col क्वेरी पैरामीटर का इस्तेमाल किया जा सकता है. उदाहरण के लिए, नीचे दी गई टेबल, कॉलम 4 (D) की सभी सेल को फिर से हासिल करती है. इसकी शुरुआत पंक्ति 2 से होती है:

GET https://spreadsheets.google.com/feeds/cells/spreadsheetId/sheetId/private/full
             ?min-row=2&min-col=4&max-col=4

Sheets API v3 वापस लाई गई सेल का inputValue दिखाता है. यह वैल्यू उपयोगकर्ता, सेल में हेर-फेर करने के लिए, Google Sheets के उपयोगकर्ता इंटरफ़ेस पर टाइप की जाती है. 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>

वर्शन 4 एपीआई

सेल डेटा वापस पाने के लिए, रेंज या पसंद की रेंज के लिए, 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 से जुड़े तरीके उपलब्ध हैं.

वर्शन 3 एपीआई

किसी एक सेल के कॉन्टेंट में बदलाव करने के लिए, सबसे पहले सेल फ़ीड में सेल की एंट्री ढूंढें. एंट्री में बदलाव करने के लिए यूआरएल शामिल है. एंट्री अपडेट करके, उस कॉन्टेंट को दिखाएं जो आपके सेल में मौजूद होना चाहिए. इसके बाद, अनुरोध के मुख्य हिस्से के तौर पर, अपडेट की गई सेल एंट्री शामिल करके, बदलाव करने के यूआरएल के लिए 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>

वर्शन 4 एपीआई

Sheets API v4 में एक सेल में बदलाव करने के लिए, spreadsheets.values.update तरीके का इस्तेमाल किया जा सकता है. इस तरीके के लिए ValueInputOption क्वेरी पैरामीटर की ज़रूरत होती है, जिससे यह तय होता है कि इनपुट डेटा को Sheets के यूज़र इंटरफ़ेस (USER_ENTERED) में डाला गया है या उसे पार्स नहीं किया गया है और उसे (RAW) के तौर पर लिया गया है. उदाहरण के लिए, नीचे दिए गए फ़ॉर्मूला के साथ, नीचे दी गई सेल D2 को अपडेट किया गया है:

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

अगर एक से ज़्यादा सेल में बदलाव किए जा रहे हैं, तो उन्हें एक ही अनुरोध में जारी करने के लिए, spreadsheets.values.batchUpdate वाले तरीके का इस्तेमाल करें.

बैच अनुरोध की मदद से, एक से ज़्यादा सेल में बदलाव करें

दोनों एपीआई एक ही (बैच) अनुरोध से, एक से ज़्यादा सेल के कॉन्टेंट में बदलाव करने की सुविधा देते हैं. बैच अनुरोध से जिन सेल के लिए रेफ़र किया जाता है उनका यह ज़रूरी नहीं है कि वे लगातार रेंज में हों.

ऐसे मामले में जहां बैच में एक या उससे ज़्यादा सेल में किए गए बदलाव काम नहीं करते हैं, Sheets API v3 दूसरे उपयोगकर्ताओं को कामयाब होने देता है. हालांकि, अगर बैच किया गया कोई भी अपडेट काम नहीं करता, तो Sheets API v4 गड़बड़ी वाला मैसेज दिखाता है. साथ ही, इस स्थिति में Sheets API v4 उनमें से किसी एक को लागू नहीं करता.

वर्शन 3 एपीआई

एक से ज़्यादा सेल में बदलाव करने के लिए, सबसे पहले वर्कशीट के लिए सेल फ़ीड वापस पाएं. एंट्री में बैच यूआरएल है. इस यूआरएल पर 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 में, अपडेट की जाने वाली सेल का पूरा यूआरएल मौजूद है. link में एक href एट्रिब्यूट होना चाहिए, जिसमें सेल के आईडी का पूरा पाथ शामिल हो. हर एंट्री के लिए, इन सभी फ़ील्ड में जानकारी डालना ज़रूरी है.

वर्शन 4 एपीआई

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"]]
       }
  ]
}

अगर आपने रेंज के रूप में एक ही सेल चुना है, तो दिए गए सभी मान उस सेल से शुरू होने वाली शीट में ऊपर-बाएं निर्देशांक के रूप में लिखे जाते हैं. इसके बजाय, अगर एक से ज़्यादा सेल वाली रेंज तय की जाती है, तो आपकी दी गई वैल्यू, उस रेंज में पूरी तरह से फ़िट होनी चाहिए. ऐसा न होने पर, एपीआई गड़बड़ी दिखाता है.