नाम वाली और सुरक्षित की गई रेंज

Google Sheets API की मदद से, नाम वाली या सुरक्षित रेंज बनाई जा सकती हैं, उनमें बदलाव किया जा सकता है, और उन्हें मिटाया जा सकता है. इस पेज पर दिए गए उदाहरणों से पता चलता है कि Sheets API की मदद से, Sheets के कुछ सामान्य काम कैसे किए जा सकते हैं.

ये उदाहरण, एचटीटीपी अनुरोधों के तौर पर दिए गए हैं, ताकि ये किसी भी भाषा के लिए काम कर सकें. Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, अलग-अलग भाषाओं में एक साथ कई बदलाव करने का तरीका जानने के लिए, स्प्रेडशीट अपडेट करना लेख पढ़ें.

इन उदाहरणों में, प्लेसहोल्डर SPREADSHEET_ID और SHEET_ID से पता चलता है कि आपको ये आईडी कहां देने हैं. स्प्रेडशीट के यूआरएल में, स्प्रेडशीट आईडी देखा जा सकता है. spreadsheets.get तरीके का इस्तेमाल करके, शीट आईडी पाया जा सकता है. रेंज को A1 नोटेशन का इस्तेमाल करके तय किया जाता है. रेंज का उदाहरण, Sheet1!A1:D5 है.

इसके अलावा, प्लेसहोल्डर NAMED_RANGE_ID और PROTECTED_RANGE_ID, नाम और सुरक्षा वाली रेंज के आईडी उपलब्ध कराते हैं. namedRangeId और protectedRangeId का इस्तेमाल, इससे जुड़ी रेंज को अपडेट करने या मिटाने के अनुरोध करते समय किया जाता है. यह आईडी, Sheets API के उस अनुरोध के जवाब में दिखता है जिससे कोई नाम वाली या सुरक्षित रेंज बनाई जाती है. Spreadsheet रिस्पॉन्स बॉडी में, spreadsheets.get तरीके से मौजूदा रेंज के आईडी देखे जा सकते हैं.

नाम वाली या सुरक्षित रेंज जोड़ना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, दो अनुरोध ऑब्जेक्ट इस्तेमाल करने का तरीका बताया गया है. पहले फ़ंक्शन में, रेंज A1:E3 को "Counts" नाम असाइन करने के लिए, AddNamedRangeRequest का इस्तेमाल किया गया है. दूसरे फ़ंक्शन में, A4:E4 रेंज में चेतावनी के लेवल की सुरक्षा जोड़ने के लिए, AddProtectedRangeRequest का इस्तेमाल किया गया है. सुरक्षा के इस लेवल पर, रेंज में मौजूद सेल में बदलाव किया जा सकता है. हालांकि, बदलाव करने से पहले चेतावनी दिखती है.

इन अनुरोधों से, रेंज आईडी और प्रॉपर्टी वाला एक AddNamedRangeResponse और एक AddProtectedRangeResponse दिखता है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addNamedRange": {
        "namedRange": {
          "name": "Counts",
          "range": {
            "sheetId": SHEET_ID,
            "startRowIndex": 0,
            "endRowIndex": 3,
            "startColumnIndex": 0,
            "endColumnIndex": 5,
          },
        }
      }
    },
    {
      "addProtectedRange": {
        "protectedRange": {
          "range": {
            "sheetId": SHEET_ID,
            "startRowIndex": 3,
            "endRowIndex": 4,
            "startColumnIndex": 0,
            "endColumnIndex": 5,
          },
          "description": "Protecting total row",
          "warningOnly": true
        }
      }
    }
  ]
}

नाम वाली या सुरक्षित की गई रेंज मिटाना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, दो अनुरोध ऑब्जेक्ट इस्तेमाल करने का तरीका बताया गया है. पहला फ़ंक्शन, नाम वाली किसी मौजूदा रेंज को मिटाने के लिए, DeleteNamedRangeRequest का इस्तेमाल करता है. इसके लिए, वह पिछले एपीआई कॉल से NAMED_RANGE_ID का इस्तेमाल करता है. दूसरा उदाहरण, किसी मौजूदा रेंज के लिए सुरक्षा सेटिंग मिटाने के लिए, DeleteProtectedRangeRequest का इस्तेमाल करता है. इसके लिए, वह पिछले एपीआई कॉल से मिली PROTECTED_RANGE_ID का इस्तेमाल करता है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteNamedRange": {
          "namedRangeId": "NAMED_RANGE_ID",
      }
    },
    {
      "deleteProtectedRange": {
        "protectedRangeId": PROTECTED_RANGE_ID,
      }
    }
  ]
}

नाम वाली या सुरक्षित की गई रेंज अपडेट करना

यहां दिए गए spreadsheets.batchUpdate कोड सैंपल में, दो अनुरोध ऑब्जेक्ट इस्तेमाल करने का तरीका बताया गया है. पहला, किसी मौजूदा रेंज के नाम को "InitialCounts" पर अपडेट करने के लिए, UpdateNamedRangeRequest का इस्तेमाल करता है. इसके लिए, वह पिछले API कॉल से मिले NAMED_RANGE_ID का इस्तेमाल करता है. दूसरा फ़ंक्शन, पहले से सुरक्षित किसी रेंज को अपडेट करने के लिए, UpdateProtectedRangeRequest का इस्तेमाल करता है, ताकि वह अब उसी नाम की रेंज को सुरक्षित कर सके. Editors तरीके से, सिर्फ़ सूची में शामिल उपयोगकर्ता ही उन सेल में बदलाव कर सकते हैं. यह अनुरोध, पिछले एपीआई कॉल से मिले NAMED_RANGE_ID और PROTECTED_RANGE_ID का इस्तेमाल करता है.

अनुरोध का प्रोटोकॉल नीचे दिया गया है.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateNamedRange": {
        "namedRange": {
          "namedRangeId": NAMED_RANGE_ID,
          "name": "InitialCounts",
        },
        "fields": "name",
      }
    },
    {
      "updateProtectedRange": {
        "protectedRange": {
          "protectedRangeId": PROTECTED_RANGE_ID,
          "namedRangeId": NAMED_RANGE_ID,
          "warningOnly": false,
          "editors": {
            "users": [
              "charlie@example.com",
              "sasha@example.com"
            ]
          }
        },
        "fields": "namedRangeId,warningOnly,editors"
      }
    }
  ]
}