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

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 कोड सैंपल में, दो अनुरोध ऑब्जेक्ट इस्तेमाल करने का तरीका बताया गया है. पहले फ़ॉर्मूले में, AddNamedRangeRequest का इस्तेमाल करके, A1:E3 रेंज को "Counts" नाम दिया गया है. दूसरे फ़ॉर्मूले में, 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 कोड सैंपल में, दो अनुरोध ऑब्जेक्ट इस्तेमाल करने का तरीका बताया गया है. पहले उदाहरण में, UpdateNamedRangeRequest का इस्तेमाल करके, नाम वाली मौजूदा रेंज का नाम बदलकर "InitialCounts" किया गया है. इसके लिए, पिछले एपीआई कॉल से मिले 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"
      }
    }
  ]
}