মেটাডেটা পড়ুন, লিখুন এবং অনুসন্ধান করুন

মেটাডেটা ফিচারটি আপনাকে একটি স্প্রেডশিটে বিভিন্ন সত্তা এবং অবস্থানের সাথে মেটাডেটা সংযুক্ত করার সুযোগ দেয়। এরপর আপনি এই মেটাডেটা কোয়েরি করে এর সাথে যুক্ত অবজেক্টগুলো খুঁজে বের করতে পারেন।

আপনি সারি, কলাম, শীট বা স্প্রেডশীটের সাথে মেটাডেটা যুক্ত করতে পারেন।

মেটাডেটা সম্পর্কে

শীটস এপিআই (Sheets API) নিয়ে কাজ করার সময় মেটাডেটার যে কয়েকটি গুরুত্বপূর্ণ দিক আপনার বিবেচনা করা উচিত, তা নিচে বর্ণনা করা হলো:

  1. ট্যাগ হিসেবে মেটাডেটা : ডেভেলপার মেটাডেটার একটি ব্যবহার হলো ট্যাগ , যা শুধুমাত্র একটি কী (key) এবং একটি অবস্থান ব্যবহার করে স্প্রেডশিটের কোনো একটি স্থানের নাম দেয়। উদাহরণস্বরূপ, আপনি একটি শীটের মধ্যে কোনো নির্দিষ্ট সারির সাথে headerRow অথবা কোনো নির্দিষ্ট কলামের সাথে totals যুক্ত করতে পারেন। ট্যাগ ব্যবহার করে একটি স্প্রেডশিটের অংশবিশেষকে কোনো থার্ড-পার্টি টুল বা ডেটাবেসের ফিল্ডের সাথে অর্থগতভাবে সংযুক্ত করা যায়, ফলে স্প্রেডশিটে কোনো পরিবর্তন হলেও আপনার অ্যাপটি অকার্যকর হয়ে পড়বে না।

  2. প্রপার্টি হিসেবে মেটাডেটা : একটি কী, অবস্থান এবং মান নির্দিষ্ট করে তৈরি করা মেটাডেটা একটি শীটে সেই অবস্থানের সাথে যুক্ত একটি কী-ভ্যালু পেয়ার হিসেবে কাজ করে। উদাহরণস্বরূপ, আপনি যুক্ত করতে পারেন:

    • formResponseId = resp123 একটি সারি সহ
    • lastUpdated = 1477369882 একটি কলাম সহ

    এর মাধ্যমে আপনি একটি স্প্রেডশিটের নির্দিষ্ট এলাকা বা ডেটার সাথে যুক্ত নিজস্ব নামের প্রোপার্টিগুলো সংরক্ষণ ও অ্যাক্সেস করতে পারেন।

  3. প্রজেক্ট বনাম ডকুমেন্ট দৃশ্যমান মেটাডেটা : একজন ডেভেলপারের প্রজেক্ট যাতে অন্যজনের মেটাডেটাতে হস্তক্ষেপ করতে না পারে, সেজন্য মেটাডেটা visibility দুটি সেটিং রয়েছে: project এবং document । শীটস এপিআই (Sheets API) ব্যবহার করে, project মেটাডেটা শুধুমাত্র সেই গুগল ক্লাউড প্রজেক্ট থেকেই দেখা ও অ্যাক্সেস করা যায়, যেটি এটি তৈরি করেছে। document মেটাডেটা সেই ডকুমেন্টে অ্যাক্সেস আছে এমন যেকোনো গুগল ক্লাউড প্রজেক্ট থেকে অ্যাক্সেস করা যায়।

    যেসব কোয়েরিতে স্পষ্টভাবে visibility উল্লেখ করা থাকে না, সেগুলো অনুরোধকারী গুগল ক্লাউড প্রজেক্টের জন্য সংশ্লিষ্ট document মেটাডেটা এবং project মেটাডেটা ফেরত দেয়।

  4. অনন্যতা : মেটাডেটা কী-গুলো অনন্য হতে হবে না, কিন্তু metadataId অবশ্যই স্বতন্ত্র হতে হবে। আপনি যদি মেটাডেটা তৈরি করেন এবং এর আইডি ফিল্ডটি অনির্দিষ্ট রাখেন, তাহলে এপিআই একটি আইডি নির্ধারণ করে দেয়। এই আইডিটি মেটাডেটা শনাক্ত করতে ব্যবহার করা যেতে পারে, অন্যদিকে কী এবং অন্যান্য অ্যাট্রিবিউটগুলো মেটাডেটার সেট শনাক্ত করতে ব্যবহার করা যায়।

  5. এপিআই অনুরোধের মাধ্যমে মেটাডেটা ফেরত দিন : একটি DataFilter অবজেক্ট হলো এপিআই কলের একটি অংশ যা এপিআই অনুরোধ থেকে নির্বাচিত বা ফেরত দেওয়া ডেটার বর্ণনা দেয়।

    একটি একক DataFilter অবজেক্ট ডেটা সনাক্ত করার জন্য শুধুমাত্র এক ধরনের ফিল্টার মানদণ্ড নির্দিষ্ট করতে পারে:

    • developerMetadataLookup : নির্দিষ্ট ডেভেলপার মেটাডেটার সাথে সম্পর্কিত এবং শর্ত পূরণকারী ডেটা নির্বাচন করে।

    • a1Range : নির্দিষ্ট A1 নোটেশন রেঞ্জের সাথে মেলে এমন ডেটা নির্বাচন করে। উদাহরণস্বরূপ, Sheet1!A1:B10

    • gridRange : শূন্য-ভিত্তিক সূচক ব্যবহার করে নির্দিষ্ট গ্রিড পরিসরের সাথে মেলে এমন ডেটা নির্বাচন করে। উদাহরণস্বরূপ, Sheet1!A3:B4 == sheetId: 123456, startRowIndex: 2, endRowIndex: 4, startColumnIndex: 0, endColumnIndex: 2

    একাধিক অবস্থান বা শর্ত অনুযায়ী ফিল্টার করতে, আপনি একটিমাত্র এপিআই অনুরোধে একাধিক DataFilter অবজেক্ট ব্যবহার করতে পারেন। spreadsheets.values.batchGetByDataFilter পদ্ধতির মতো একটি ব্যাচ অনুরোধে DataFilter অবজেক্টের একটি অ্যারে বা তালিকা প্রদান করুন। অনুরোধে থাকা ডেটা ফিল্টারগুলোর যেকোনোটির সাথে মিলে যাওয়া যেকোনো রেঞ্জ ফেরত দেওয়া হবে বা পরিবর্তন করা হবে।

    আরও তথ্যের জন্য, মেটাডেটার সাথে সম্পর্কিত মানগুলি পড়ুন এবং লিখুন দেখুন।

ব্যবহারের ক্ষেত্র

মেটাডেটা ব্যবস্থাপনার কিছু উদাহরণ নিচে দেওয়া হলো:

  • একটি স্প্রেডশীটে বিভিন্ন সত্তা এবং অবস্থানের সাথে যথেচ্ছ ডেটা সংযুক্ত করুন : উদাহরণস্বরূপ, totals কলাম D-এর সাথে, অথবা responseId = 1234 সারি ৭-এর সাথে সংযুক্ত করুন।

  • একটি নির্দিষ্ট মেটাডেটা কী বা অ্যাট্রিবিউটের সাথে সম্পর্কিত সমস্ত অবস্থান এবং ডেটা খুঁজুন : উদাহরণস্বরূপ, কলাম D-এর সাথে সম্পর্কিত ' totals ' কী বা responseId দেওয়া থাকলে, সেই responseId মেটাডেটা এবং এর সাথে সম্পর্কিত মেটাডেটা মান সহ সমস্ত সারি ফেরত দিন।

  • কোনো নির্দিষ্ট সত্তা বা অবস্থানের সাথে সম্পর্কিত সমস্ত ডেটা খুঁজুন : উদাহরণস্বরূপ, D কলাম দেওয়া থাকলে, সেই অবস্থানের সাথে সম্পর্কিত সমস্ত মেটাডেটা ফেরত দিন।

  • সংশ্লিষ্ট মেটাডেটা উল্লেখ করে কোনো একটি অবস্থান থেকে মান পুনরুদ্ধার করুন : উদাহরণস্বরূপ, totals দিলে সংশ্লিষ্ট কলাম বা সারিতে থাকা মানগুলোর একটি উপস্থাপনা ফেরত আসবে, অথবা কোনো summary দিলে সংশ্লিষ্ট শীট রিসোর্সের একটি উপস্থাপনা ফেরত আসবে।

  • সংশ্লিষ্ট মেটাডেটা উল্লেখ করে কোনো অবস্থানের মান আপডেট করুন : উদাহরণস্বরূপ, A1 নোটেশনের মাধ্যমে কোনো সারির মান আপডেট করার পরিবর্তে, একটি মেটাডেটা আইডি উল্লেখ করে মান আপডেট করুন।

মেটাডেটা পড়ুন এবং লিখুন

spreadsheets.developerMetadata রিসোর্সটি একটি স্প্রেডশিটের কোনো অবস্থান বা অবজেক্টের সাথে সম্পর্কিত মেটাডেটাতে অ্যাক্সেস প্রদান করে। ডেভেলপার মেটাডেটা ব্যবহার করে একটি স্প্রেডশিটের বিভিন্ন অংশের সাথে যেকোনো ডেটা সংযুক্ত করা যায়। স্প্রেডশিটটি সম্পাদনা করা হলেও মেটাডেটা সেই অবস্থানগুলিতে সংযুক্ত থাকে।

মেটাডেটা তৈরি করুন

মেটাডেটা তৈরি করতে, spreadsheets রিসোর্সের batchUpdate মেথডটি ব্যবহার করুন এবং spreadsheets.developerMetadata রিসোর্স থেকে metadataKey , location , ও visibility ভ্যালুসহ একটি CreateDeveloperMetadataRequest সরবরাহ করুন। আপনি ঐচ্ছিকভাবে একটি metadataValue অথবা একটি সুস্পষ্ট metadataId নির্দিষ্ট করতে পারেন।

আপনি যদি এমন কোনো আইডি দেন যা ইতিমধ্যেই ব্যবহৃত হচ্ছে, তাহলে অনুরোধটি অসফল হবে। আপনি যদি কোনো আইডি সরবরাহ না করেন, তাহলে এপিআই একটি আইডি নির্ধারণ করে দেবে।

এই উদাহরণে, আমরা অনুরোধে একটি কী, একটি ভ্যালু এবং একটি সারি প্রদান করি। প্রতিক্রিয়াটি এই ডেভেলপার মেটাডেটা ভ্যালুগুলো, সাথে নির্ধারিত মেটাডেটা আইডি ফেরত দেয়।

অনুরোধ

{
  "requests": [
    {
      "createDeveloperMetadata": {
        "developerMetadata": {
          "location": {
            "dimensionRange": {
              "sheetId": SHEET_ID,
              "dimension": "ROWS",
              "startIndex": 6,
              "endIndex": 7
            }
          },
          "visibility": "DOCUMENT",
          "metadataKey": "Sales",
          "metadataValue": "2022"
        }
      }
    }
  ]
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "replies": [
    {
      "createDeveloperMetadata": {
        "developerMetadata": {
          "metadataId": METADATA_ID,
          "metadataKey": "Sales",
          "metadataValue": "2022",
          "location": {
            "locationType": "ROW",
            "dimensionRange": {
              "sheetId": SHEET_ID,
              "dimension": "ROWS",
              "startIndex": 6,
              "endIndex": 7
            }
          },
          "visibility": "DOCUMENT"
        }
      }
    }
  ]
}

একটি একক মেটাডেটা আইটেম পড়ুন

একজন ডেভেলপারের একটিমাত্র স্বতন্ত্র মেটাডেটা পেতে, spreadsheets.developerMetadata.get মেথডটি ব্যবহার করুন এবং এর সাথে মেটাডেটা ধারণকারী spreadsheetId ও ডেভেলপার মেটাডেটার অনন্য metadataId উল্লেখ করুন।

অনুরোধ

এই উদাহরণে, আমরা অনুরোধে স্প্রেডশীট আইডি এবং মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মানগুলি ফেরত দেয়।

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/developerMetadata/METADATA_ID

প্রতিক্রিয়া

{
  "metadataId": METADATA_ID,
  "metadataKey": "Sales",
  "metadataValue": "2022",
  "location": {
    "locationType": "ROW",
    "dimensionRange": {
      "sheetId": SHEET_ID,
      "dimension": "ROWS",
      "startIndex": 6,
      "endIndex": 7
    }
  },
  "visibility": "DOCUMENT"
}

একাধিক মেটাডেটা আইটেম পড়ুন

ডেভেলপার মেটাডেটার একাধিক আইটেম পুনরুদ্ধার করতে, spreadsheets.developerMetadata.search মেথডটি ব্যবহার করুন। আপনাকে অবশ্যই একটি DataFilter নির্দিষ্ট করতে হবে যা key, value, location, বা visibility-এর মতো প্রপার্টিগুলোর যেকোনো সমন্বয়ের উপর ভিত্তি করে বিদ্যমান যেকোনো মেটাডেটার সাথে মেলে।

এই উদাহরণে, আমরা অনুরোধে একাধিক মেটাডেটা আইডি প্রদান করেছি। প্রতিক্রিয়াটি প্রতিটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মানগুলি ফেরত দেয়।

অনুরোধ

{
  "dataFilters": [
    {
      "developerMetadataLookup": {
        "metadataId": METADATA_ID
      }
    },
    {
      "developerMetadataLookup": {
        "metadataId": METADATA_ID
      }
    }
  ]
}

প্রতিক্রিয়া

{
  "matchedDeveloperMetadata": [
    {
      "developerMetadata": {
        "metadataId": METADATA_ID,
        "metadataKey": "Revenue",
        "metadataValue": "2022",
        "location": {
          "locationType": "SHEET",
          "sheetId": SHEET_ID
        },
        "visibility": "DOCUMENT"
      },
      "dataFilters": [
        {
          "developerMetadataLookup": {
            "metadataId": METADATA_ID
          }
        }
      ]
    },
    {
      "developerMetadata": {
        "metadataId": METADATA_ID,
        "metadataKey": "Sales",
        "metadataValue": "2022",
        "location": {
          "locationType": "SHEET",
          "sheetId": SHEET_ID
        },
        "visibility": "DOCUMENT"
      },
      "dataFilters": [
        {
          "developerMetadataLookup": {
            "metadataId": METADATA_ID
          }
        }
      ]
    }
  ]
}

মেটাডেটা আপডেট করুন

ডেভেলপার মেটাডেটা আপডেট করতে, spreadsheets.batchUpdate মেথডটি ব্যবহার করুন এবং একটি UpdateDeveloperMetadataRequest সরবরাহ করুন। আপনাকে অবশ্যই একটি DataFilter নির্দিষ্ট করতে হবে যা আপডেট করা মেটাডেটাকে টার্গেট করে, নতুন মান সহ একটি spreadsheets.developerMetadata রিসোর্স এবং আপডেট করা ফিল্ডগুলির বর্ণনা দিয়ে একটি ফিল্ড মাস্ক নির্দিষ্ট করতে হবে।

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি, শীট আইডি এবং একটি নতুন মেটাডেটা কী প্রদান করি। প্রতিক্রিয়ায় এই ডেভেলপার মেটাডেটা মানগুলির সাথে আপডেট করা মেটাডেটা কী-টিও ফেরত আসে।

অনুরোধ

{
  "requests": [
    {
      "updateDeveloperMetadata": {
        "dataFilters": [
          {
            "developerMetadataLookup": {
              "metadataId": METADATA_ID
            }
          }
        ],
        "developerMetadata": {
          "location": {
            "sheetId": SHEET_ID
          },
          "metadataKey": "SalesUpdated"
        },
        "fields": "location,metadataKey"
      }
    }
  ]
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "replies": [
    {
      "updateDeveloperMetadata": {
        "developerMetadata": [
          {
            "metadataId": METADATA_ID,
            "metadataKey": "SalesUpdated",
            "metadataValue": "2022",
            "location": {
              "locationType": "SHEET",
              "sheetId": SHEET_ID
            },
            "visibility": "DOCUMENT"
          }
        ]
      }
    }
  ]
}

মেটাডেটা মুছে ফেলুন

ডেভেলপার মেটাডেটা মুছে ফেলার জন্য, batchUpdate মেথডটি ব্যবহার করুন এবং একটি DeleteDeveloperMetadataRequest প্রদান করুন। আপনি যে মেটাডেটা মুছতে চান তা নির্বাচন করার জন্য আপনাকে অবশ্যই একটি DataFilter নির্দিষ্ট করতে হবে।

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য ডেভেলপার মেটাডেটা মানগুলি ফেরত দেয়।

ডেভেলপার মেটাডেটা মুছে ফেলা হয়েছে কিনা তা নিশ্চিত করতে, মুছে ফেলা মেটাডেটা আইডি উল্লেখ করে spreadsheets.developerMetadata.get মেথডটি ব্যবহার করুন। আপনি একটি 404: Not Found HTTP স্ট্যাটাস কোড রেসপন্স পাবেন, সাথে একটি মেসেজ থাকবে যেখানে লেখা থাকবে " METADATA_ID আইডি সহ কোনো ডেভেলপার মেটাডেটা নেই"।

অনুরোধ

{
  "requests": [
    {
      "deleteDeveloperMetadata": {
        "dataFilter": {
          "developerMetadataLookup": {
            "metadataId": METADATA_ID
          }
        }
      }
    }
  ]
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "replies": [
    {
      "deleteDeveloperMetadata": {
        "deletedDeveloperMetadata": [
          {
            "metadataId": METADATA_ID,
            "metadataKey": "SalesUpdated",
            "metadataValue": "2022",
            "location": {
              "locationType": "SHEET",
              "sheetId": SHEET_ID
            },
            "visibility": "DOCUMENT"
          }
        ]
      }
    }
  ]
}

মেটাডেটার সাথে সম্পর্কিত মানগুলি পড়ুন এবং লিখুন

আপনি সংশ্লিষ্ট ডেভেলপার মেটাডেটা এবং যে মানগুলো আপডেট করতে চান তা উল্লেখ করে সারি ও কলামের সেল মানগুলোও পুনরুদ্ধার এবং আপডেট করতে পারেন। এটি করার জন্য, একটি উপযুক্ত DataFilter সাথে নিম্নলিখিত পদ্ধতিগুলোর মধ্যে একটি ব্যবহার করুন।

মেটাডেটা দ্বারা সেলের মানগুলি পান

মেটাডেটা দ্বারা সেলের মান পেতে, spreadsheets.values.batchGetByDataFilter মেথডটি ব্যবহার করুন। আপনাকে অবশ্যই স্প্রেডশিট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার উল্লেখ করতে হবে।

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য সারি সেলের মানগুলি (মডেল নম্বর, মাসিক বিক্রয়) ফেরত দেয়।

অনুরোধ

{
  "dataFilters": [
    {
      "developerMetadataLookup": {
        "metadataId": METADATA_ID
      }
    }
  ],
  "majorDimension": "ROWS"
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "valueRange": {
        "range": "Sheet7!A7:Z7",
        "majorDimension": "ROWS",
        "values": [
          [
            "W-24",
            "74"
          ]
        ]
      },
      "dataFilters": [
        {
          "developerMetadataLookup": {
            "metadataId": METADATA_ID
          }
        }
      ]
    }
  ]
}

মেটাডেটা দ্বারা স্প্রেডশীট পান

একটি স্প্রেডশীট পুনরুদ্ধার করার সময়, আপনি spreadsheets.getByDataFilter পদ্ধতিটি ব্যবহার করে ডেটার একটি উপসেট ফেরত পেতে পারেন। আপনাকে অবশ্যই স্প্রেডশীট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার নির্দিষ্ট করতে হবে।

এই অনুরোধটি একটি সাধারণ "স্প্রেডশিট GET" অনুরোধের মতোই কাজ করে, তবে নির্দিষ্ট ডেটা ফিল্টার দ্বারা মেলানো মেটাডেটার তালিকা নির্ধারণ করে যে কোন শিট, গ্রিড ডেটা এবং মেটাডেটা সহ অন্যান্য অবজেক্ট রিসোর্স ফেরত দেওয়া হবে। যদি includeGridData true সেট করা হয়, তাহলে শিটটির জন্য নির্দিষ্ট গ্রিড রেঞ্জকে ছেদকারী গ্রিড ডেটাও ফেরত দেওয়া হয়। অনুরোধে যদি একটি ফিল্ড মাস্ক সেট করা থাকে, তাহলে includeGridData ফিল্ডটি উপেক্ষা করা হয়।

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি এবং includeGridData কে false সেট করি। প্রতিক্রিয়াটি স্প্রেডশীট এবং শীট উভয় বৈশিষ্ট্যই ফেরত দেয়।

অনুরোধ

{
  "dataFilters": [
    {
      "developerMetadataLookup": {
        "metadataId": METADATA_ID
      }
    }
  ],
  "includeGridData": false
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "properties": {
    "title": "Sales Sheet",
    "locale": "en_US",
    "autoRecalc": "ON_CHANGE",
    "timeZone": "America/Los_Angeles",
    "defaultFormat": {
      "backgroundColor": {
        "red": 1,
        "green": 1,
        "blue": 1
      },
      "padding": {
        "top": 2,
        "right": 3,
        "bottom": 2,
        "left": 3
      },
      "verticalAlignment": "BOTTOM",
      "wrapStrategy": "OVERFLOW_CELL",
      "textFormat": {
        "foregroundColor": {},
        "fontFamily": "arial,sans,sans-serif",
        "fontSize": 10,
        "bold": false,
        "italic": false,
        "strikethrough": false,
        "underline": false,
        "foregroundColorStyle": {
          "rgbColor": {}
        }
      },
      "backgroundColorStyle": {
        "rgbColor": {
          "red": 1,
          "green": 1,
          "blue": 1
        }
      }
    },
    "spreadsheetTheme": {
      "primaryFontFamily": "Arial",
      "themeColors": [
        {
          "colorType": "TEXT",
          "color": {
            "rgbColor": {}
          }
        },
        {
          "colorType": "BACKGROUND",
          "color": {
            "rgbColor": {
              "red": 1,
              "green": 1,
              "blue": 1
            }
          }
        },
        {
          "colorType": "ACCENT1",
          "color": {
            "rgbColor": {
              "red": 0.25882354,
              "green": 0.52156866,
              "blue": 0.95686275
            }
          }
        },
        {
          "colorType": "ACCENT2",
          "color": {
            "rgbColor": {
              "red": 0.91764706,
              "green": 0.2627451,
              "blue": 0.20784314
            }
          }
        },
        {
          "colorType": "ACCENT3",
          "color": {
            "rgbColor": {
              "red": 0.9843137,
              "green": 0.7372549,
              "blue": 0.015686275
            }
          }
        },
        {
          "colorType": "ACCENT4",
          "color": {
            "rgbColor": {
              "red": 0.20392157,
              "green": 0.65882355,
              "blue": 0.3254902
            }
          }
        },
        {
          "colorType": "ACCENT5",
          "color": {
            "rgbColor": {
              "red": 1,
              "green": 0.42745098,
              "blue": 0.003921569
            }
          }
        },
        {
          "colorType": "ACCENT6",
          "color": {
            "rgbColor": {
              "red": 0.27450982,
              "green": 0.7411765,
              "blue": 0.7764706
            }
          }
        },
        {
          "colorType": "LINK",
          "color": {
            "rgbColor": {
              "red": 0.06666667,
              "green": 0.33333334,
              "blue": 0.8
            }
          }
        }
      ]
    }
  },
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet7",
        "index": 7,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 1000,
          "columnCount": 26
        }
      }
    }
  ],
  "spreadsheetUrl": SPREADSHEET_URL
}

মেটাডেটা দ্বারা মান আপডেট করুন

নির্দিষ্ট মেটাডেটার সাথে মেলে এমন সেল ভ্যালু আপডেট করতে, spreadsheets.values.batchUpdateByDataFilter মেথডটি ব্যবহার করুন। আপনাকে অবশ্যই স্প্রেডশীট আইডি, valueInputOption এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক DataFilterValueRange ভ্যালু উল্লেখ করতে হবে।

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি এবং আপডেট করা সারির মান প্রদান করি। প্রতিক্রিয়াটি মেটাডেটা আইডির জন্য আপডেট করা বৈশিষ্ট্য এবং ডেটা উভয়ই ফেরত দেয়।

অনুরোধ

{
  "data": [
    {
      "dataFilter": {
        "developerMetadataLookup": {
          "metadataId": METADATA_ID
        }
      },
      "majorDimension": "ROWS",
      "values": [
        [
          "W-24",
          "84"
        ]
      ]
    }
  ],
  "includeValuesInResponse": true,
  "valueInputOption": "USER_ENTERED"
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 1,
  "totalUpdatedColumns": 2,
  "totalUpdatedCells": 2,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "updatedRange": "Sheet7!A7:B7",
      "updatedRows": 1,
      "updatedColumns": 2,
      "updatedCells": 2,
      "dataFilter": {
        "developerMetadataLookup": {
          "metadataId": METADATA_ID
        }
      },
      "updatedData": {
        "range": "Sheet7!A7:Z7",
        "majorDimension": "ROWS",
        "values": [
          [
            "W-24",
            "84"
          ]
        ]
      }
    }
  ]
}

মেটাডেটা দ্বারা মানগুলি পরিষ্কার করুন

নির্দিষ্ট মেটাডেটার সাথে মিলে যাওয়া সেল ভ্যালুগুলো মুছে ফেলার জন্য, spreadsheets.values.batchClearByDataFilter মেথডটি ব্যবহার করুন। আপনি যে মেটাডেটা মুছতে চান, তা নির্বাচন করার জন্য আপনাকে অবশ্যই একটি ডেটা ফিল্টার নির্দিষ্ট করতে হবে।

অনুরোধ

এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়ায় স্প্রেডশীট আইডি এবং মুছে ফেলা পরিসরগুলো ফেরত আসে।

{
  "dataFilters": [
    {
      "developerMetadataLookup": {
        "metadataId": METADATA_ID
      }
    }
  ]
}

প্রতিক্রিয়া

{
  "spreadsheetId": SPREADSHEET_ID,
  "clearedRanges": [
    "Sheet7!A7:Z7"
  ]
}

মেটাডেটা সংরক্ষণের সীমা

একটি স্প্রেডশিটে মোট যে পরিমাণ মেটাডেটা সংরক্ষণ করা যায়, তার একটি সীমা রয়েছে। এই সীমাটি ক্যারেক্টারে পরিমাপ করা হয় এবং এটি দুটি উপাদান দিয়ে গঠিত:

আইটেম স্টোরেজ সীমা বরাদ্দ
স্প্রেডশিট ৩০,০০০ অক্ষর
একটি স্প্রেডশীটের মধ্যে প্রতিটি শীট ৩০,০০০ অক্ষর

আপনি স্প্রেডশিটের জন্য ৩০,০০০ অক্ষর পর্যন্ত সংরক্ষণ করতে পারেন। এছাড়াও, আপনি একটি স্প্রেডশিটের প্রতিটি শীটের জন্য ৩০,০০০ অক্ষর সংরক্ষণ করতে পারেন (শীট একের জন্য ৩০,০০০, শীট দুইয়ের জন্য ৩০,০০০, এবং এভাবেই চলতে থাকে)। সুতরাং, তিনটি শীটযুক্ত একটি স্প্রেডশিটে ১,২০,০০০ অক্ষর পর্যন্ত মেটাডেটা থাকতে পারে।

spreadsheets.developerMetadata রিসোর্সের metadataKey এবং metadataValue ফিল্ডের প্রতিটি অক্ষর এই সীমার মধ্যে গণনা করা হয়।