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 में इस्तेमाल किए गए XML स्ट्रक्चर के साथ काम नहीं करते.

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

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

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

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

v3 API, list feed का इस्तेमाल करके वापस लाई गई लाइनों को भी आईडी असाइन करता है; इस पेज पर इसे rowId प्लेसहोल्डर से दिखाया गया है.

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

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

v3 API

Sheets 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

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

किसको दिखे

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

v3 API

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

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

v4 API

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

अनुमान

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

v3 API

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

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

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

v4 API

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

उदाहरण के लिए, यहां दी गई क्वेरी, किसी स्प्रेडशीट में मौजूद सभी शीट के सिर्फ़ टाइटल दिखाती है:

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

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

v3 API

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

v4 API

Drive API Files.create तरीके का इस्तेमाल, Sheets API v4 के साथ भी किया जा सकता है. हालांकि, इसके लिए ऐप्लिकेशन को https://www.googleapis.com/auth/drive स्कोप देना होगा.

इसके विकल्प के तौर पर, Sheets API v4 में spreadsheets.create तरीका उपलब्ध है. इससे, शीट भी जोड़ी जा सकती हैं. साथ ही, स्प्रेडशीट और शीट की प्रॉपर्टी सेट की जा सकती हैं. इसके अलावा, नाम वाली रेंज भी जोड़ी जा सकती हैं. उदाहरण के लिए, यहां दिया गया कोड एक नई स्प्रेडशीट बनाता है और उसे "NewTitle" नाम देता है:

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

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

v3 API

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

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

v4 API

Sheets API v4, यह कार्रवाई उपलब्ध नहीं कराता है. हमारा सुझाव है कि आप अपने ऐप्लिकेशन को माइग्रेट करें, ताकि स्प्रेडशीट चुनने के लिए Google Picker के साथ drive.file स्कोप का इस्तेमाल किया जा सके.

जिन मामलों में स्प्रेडशीट की सूची बनाना ज़रूरी होता है उनमें Drive API Files.list तरीके का इस्तेमाल करके, स्प्रेडशीट की सूची बनाई जा सकती है. इसके लिए, mimeType क्वेरी का इस्तेमाल करें:

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

Drive API files.list तरीके का इस्तेमाल करके, किसी उपयोगकर्ता की सभी स्प्रेडशीट की सूची बनाने के लिए, पाबंदी वाला स्कोप ज़रूरी है.

शीट का मेटाडेटा वापस पाना

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

Sheets API v4 का spreadsheets.get तरीका, इस जानकारी के साथ-साथ और भी बहुत कुछ ऐक्सेस करने की सुविधा देता है.

v3 API

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

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

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

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

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

शीट का टाइटल और साइज़ बदलना

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

v3 API

किसी वर्कशीट का टाइटल या साइज़ बदलने के लिए, सबसे पहले वर्कशीट फ़ीड को वापस पाएं. इसके बाद, अपनी पसंद की वर्कशीट एंट्री ढूंढें. इसमें 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>

v4 API

शीट का साइज़, टाइटल, और अन्य प्रॉपर्टी अपडेट करने के लिए, spreadsheets.batchUpdate तरीके में updateSheetProperties अनुरोध करें. POST अनुरोध के मुख्य हिस्से में, वे प्रॉपर्टी शामिल होनी चाहिए जिनमें बदलाव करना है. साथ ही, fields पैरामीटर में उन प्रॉपर्टी की सूची साफ़ तौर पर दी जानी चाहिए. अगर आपको सभी प्रॉपर्टी अपडेट करनी हैं, तो उन सभी को लिस्ट करने के लिए, fields:"*" का इस्तेमाल शॉर्टहैंड के तौर पर करें. उदाहरण के लिए, यहां दी गई जानकारी से पता चलता है कि दिए गए आईडी वाली शीट के लिए, शीट के टाइटल और साइज़ की प्रॉपर्टी अपडेट की जानी चाहिए:

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
{
  "requests": [
    {
      "updateSheetProperties": {
          "properties": {
            "sheetId": sheetId,
            "title": "Expenses",
            "gridProperties": {
              "rowCount": 45,
              "columnCount": 15,
            }
          },
          "fields": "title,gridProperties(rowCount,columnCount)"
     }
   }
  ],
}

किसी शीट की sheetId को वापस पाने के लिए, स्प्रेडशीट spreadsheets.get तरीके का इस्तेमाल करें.

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

दोनों में से कोई भी API, किसी स्प्रेडशीट से शीट हटा सकता है.

v3 API

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

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

v4 API

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

v3 API

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

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

v4 API

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

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

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

v3 API

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

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

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

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

इसके अलावा, Sheets API v4 की मदद से, spreadsheets.batchUpdate में AppendCells अनुरोधों का इस्तेमाल करके, कुछ खास प्रॉपर्टी और फ़ॉर्मैटिंग वाले सेल भी जोड़े जा सकते हैं.

नई जानकारी के साथ किसी लाइन में बदलाव करना

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

v3 API

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

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

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 नोटेशन इस्तेमाल करना होगा जिसमें बदलाव करना है. इसके बाद, 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 की मदद से, UpdateCells या RepeatCell अनुरोधों का इस्तेमाल करके, सेल की प्रॉपर्टी और फ़ॉर्मैटिंग में बदलाव किया जा सकता है. इसके लिए, spreadsheets.batchUpdate का इस्तेमाल करें.

किसी लाइन को मिटाना

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

v3 API

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

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

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

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

v4 API

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, वैल्यू, फ़ॉर्मूला, फ़ॉर्मैटिंग, हाइपरलिंक, डेटा की पुष्टि करने की सुविधा, और अन्य प्रॉपर्टी का पूरा ऐक्सेस देता है.

v3 API

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

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

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

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

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>

v4 API

spreadsheets.values.get या spreadsheets.values.batchGet तरीके को कॉल करके, सेल का डेटा वापस पाएं. इन तरीकों का इस्तेमाल, दिलचस्पी वाली रेंज या रेंज के लिए किया जाता है. उदाहरण के लिए, यहां दिया गया फ़ॉर्मूला, "Sheet2" के कॉलम D में मौजूद सेल की वैल्यू दिखाता है. ये वैल्यू, दूसरी लाइन से शुरू होती हैं. साथ ही, इन्हें कॉलम के हिसाब से क्रम में लगाया जाता है. इसके अलावा, फ़ॉर्मूले को उसी तरह दिखाया जाता है जिस तरह उसे डाला गया था. आखिर में मौजूद खाली सेल को नहीं दिखाया जाता:

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet2!D2:D?majorDimension=COLUMNS&valueRenderOption=FORMULA

इस अनुरोध का जवाब, इस तरह के जवाब से मिलता-जुलता है:

{
  "spreadsheetId": spreadsheetId,
  "valueRanges": [
      {"range": "Sheet2!D2:D",
       "majorDimension": "COLUMNS",
       "values": [["Widget", 234, "=FLOOR(C4/(B4*60),.0001)", "=D4\*1000"]]
      }]
}

अगर आपको सेल के डेटा की कई रेंज वापस पानी हैं, तो spreadsheet.values.batchGet का इस्तेमाल करना ज़्यादा बेहतर है. अगर आपको फ़ॉर्मैटिंग जैसी सेल प्रॉपर्टी ऐक्सेस करनी हैं, तो spreadsheet.get तरीके का इस्तेमाल करना ज़रूरी है.

किसी सेल में बदलाव करना

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

इसके उलट, Sheets API v4, सेल का कॉन्टेंट बदलने के लिए spreadsheets.values.update और spreadsheets.values.batchUpdate तरीके उपलब्ध कराता है.

v3 API

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

v3 API

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

v4 API

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

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