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

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

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

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

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

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

নিম্নলিখিত spreadsheets.batchUpdate কোড নমুনাটি দেখায় কিভাবে 2টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমটি AddNamedRangeRequest ব্যবহার করে A1:E3 পরিসরকে "Counts" নামটি বরাদ্দ করে। দ্বিতীয়টি AddProtectedRangeRequest ব্যবহার করে A4:E4 পরিসরের সাথে একটি সতর্কতা-স্তরের সুরক্ষা সংযুক্ত করে। এই স্তর সুরক্ষা এখনও পরিসরের মধ্যে থাকা কোষগুলিকে সম্পাদনা করার অনুমতি দেয়, তবে পরিবর্তন করার আগে একটি সতর্কতা প্রম্পট করে।

এই অনুরোধগুলি একটি 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টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমটি DeleteNamedRangeRequest ব্যবহার করে একটি বিদ্যমান নামযুক্ত পরিসর মুছে ফেলার জন্য, পূর্ববর্তী API কল থেকে NAMED_RANGE_ID ব্যবহার করে। দ্বিতীয়টি DeleteProtectedRangeRequest ব্যবহার করে একটি বিদ্যমান পরিসর সুরক্ষা মুছে ফেলার জন্য, পূর্ববর্তী API কল থেকে 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 কোড নমুনাটি দেখায় কিভাবে 2টি অনুরোধ বস্তু ব্যবহার করতে হয়। প্রথমটি UpdateNamedRangeRequest ব্যবহার করে একটি বিদ্যমান নামযুক্ত পরিসরের নাম "InitialCounts" এ আপডেট করে, পূর্ববর্তী API কল থেকে NAMED_RANGE_ID ব্যবহার করে। দ্বিতীয়টি 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"
      }
    }
  ]
}