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

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

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

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

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

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

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

किसको दिखे

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

वर्शन 3 एपीआई

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

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

वर्शन 4 एपीआई

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

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

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

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

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 में यह कार्रवाई करने की सुविधा नहीं है. हमारा सुझाव है कि आप drive.file के स्कोप का इस्तेमाल करके स्प्रेडशीट चुनने के लिए, Google पिकर के साथ अपने ऐप्लिकेशन को माइग्रेट करें.

ऐसे मामलों में जहां स्प्रेडशीट की लिस्टिंग की ज़रूरत होती है, वहां 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 एपीआई

Sheets API v3 के मुकाबले, शीट की प्रॉपर्टी और अन्य मेटाडेटा को हासिल करने के लिए, spreadsheets.get तरीके का इस्तेमाल किया जा सकता है. अगर आपको सिर्फ़ शीट प्रॉपर्टी को पढ़ना है, तो स्प्रेडशीट सेल का डेटा शामिल होने से रोकने के लिए, 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

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

अगर आप पंक्ति को मिटाना चाहते हैं, भले ही आपके ज़रिए इसे फिर से हासिल करने के बाद किसी और ने उसे अपडेट किया हो या नहीं, तो यदि-Match: * का उपयोग करें, तो 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
        }
      }
    }
  ],
}

spreadsheet.get तरीके का इस्तेमाल करके, शीट के sheetId को वापस पाया जा सकता है.

सेल का डेटा वापस पाएं

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 अनुरोध जारी करें. उदाहरण के लिए, यहां दिया गया SUM फ़ॉर्मूला शामिल करने के लिए, सेल D2 (R2C4) को अपडेट किया जाता है:

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

वर्शन 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"]]
       }
  ]
}

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