নামকরণ করা হয়েছে & সুরক্ষিত রেঞ্জ

Google পত্রক API আপনাকে নাম বা সুরক্ষিত রেঞ্জ তৈরি করতে, সংশোধন করতে এবং মুছতে দেয়৷ এই পৃষ্ঠার উদাহরণগুলি ব্যাখ্যা করে যে আপনি কীভাবে শীট API এর সাথে কিছু সাধারণ পত্রক অপারেশনগুলি অর্জন করতে পারেন৷

এই উদাহরণগুলি ভাষা নিরপেক্ষ হওয়ার জন্য HTTP অনুরোধের আকারে উপস্থাপন করা হয়েছে। Google API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে কিভাবে বিভিন্ন ভাষায় একটি ব্যাচ আপডেট বাস্তবায়ন করতে হয় তা জানতে, স্প্রেডশীট আপডেট করুন দেখুন।

এই উদাহরণগুলিতে, স্থানধারক SPREADSHEET_ID এবং SHEET_ID নির্দেশ করে যে আপনি সেই IDগুলি কোথায় দেবেন৷ আপনি স্প্রেডশীট ইউআরএলে স্প্রেডশীট আইডি খুঁজে পেতে পারেন। আপনি spreadsheets.get পদ্ধতি ব্যবহার করে শীট আইডি পেতে পারেন। A1 স্বরলিপি ব্যবহার করে রেঞ্জগুলি নির্দিষ্ট করা হয়েছে। একটি উদাহরণ পরিসীমা হল Sheet1!A1:D5।

উপরন্তু, স্থানধারক NAMED_RANGE_ID এবং PROTECTED_RANGE_ID নামযুক্ত এবং সুরক্ষিত ব্যাপ্তির জন্য ID প্রদান করে। সংশ্লিষ্ট রেঞ্জ আপডেট বা মুছে ফেলার অনুরোধ করার সময় namedRangeId এবং protectedRangeId ব্যবহার করা হয়। একটি শীট API অনুরোধের প্রতিক্রিয়ায় আইডিটি ফেরত দেওয়া হয় যা একটি নামযুক্ত বা সুরক্ষিত পরিসর তৈরি করে। আপনি Spreadsheet প্রতিক্রিয়া বডিতে, spreadsheets.get পদ্ধতির মাধ্যমে বিদ্যমান রেঞ্জের আইডি পেতে পারেন।

নামযুক্ত বা সুরক্ষিত ব্যাপ্তি যোগ করুন

নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনা দেখায় কিভাবে 2টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমে AddNamedRangeRequest ব্যবহার করে রেঞ্জ A1:E3 কে "গণনা" নামটি বরাদ্দ করতে। দ্বিতীয়টি 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 কোড নমুনা দেখায় কিভাবে 2টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমটি পূর্ববর্তী API কল থেকে NAMED_RANGE_ID ব্যবহার করে একটি বিদ্যমান নামযুক্ত পরিসর মুছে ফেলার জন্য DeleteNamedRangeRequest ব্যবহার করে৷ দ্বিতীয়টি পূর্ববর্তী API কল থেকে PROTECTED_RANGE_ID ব্যবহার করে একটি বিদ্যমান পরিসর সুরক্ষা মুছে ফেলার জন্য DeleteProtectedRangeRequest ব্যবহার করে৷

অনুরোধ প্রোটোকল নীচে দেখানো হয়েছে.

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

নাম বা সুরক্ষিত রেঞ্জ আপডেট করুন

নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনা দেখায় কিভাবে 2টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমটি একটি পূর্ববর্তী API কল থেকে NAMED_RANGE_ID ব্যবহার করে একটি বিদ্যমান নামযুক্ত পরিসরের নাম "InitialCounts"-এ আপডেট করতে UpdateNamedRangeRequest ব্যবহার করে৷ দ্বিতীয়টি একটি বিদ্যমান সুরক্ষিত পরিসর আপডেট করতে UpdateProtectedRangeRequest ব্যবহার করে যাতে এটি এখন একই নামের পরিসরটিকে রক্ষা করে। Editors পদ্ধতি শুধুমাত্র তালিকাভুক্ত ব্যবহারকারীদের সেই কক্ষগুলি সম্পাদনা করতে দেয়। এই অনুরোধটি পূর্ববর্তী API কলগুলি থেকে 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"
      }
    }
  ]
}