বিকাশকারী মেটাডেটা বৈশিষ্ট্য আপনাকে একটি স্প্রেডশীটে বিভিন্ন সত্তা এবং অবস্থানের সাথে মেটাডেটা সংযুক্ত করতে দেয়৷ তারপরে আপনি এই মেটাডেটা জিজ্ঞাসা করতে পারেন এবং এটির সাথে সম্পর্কিত বস্তুগুলি খুঁজে পেতে এটি ব্যবহার করতে পারেন।
আপনি সারি, কলাম, শীট বা স্প্রেডশীটের সাথে মেটাডেটা সংযুক্ত করতে পারেন।
বিকাশকারী মেটাডেটা আপনাকে অপারেশন করতে দেয় যেমন:
একটি স্প্রেডশীটে বিভিন্ন সত্তা এবং অবস্থানের সাথে স্বেচ্ছাচারী ডেটা সংযুক্ত করুন —উদাহরণস্বরূপ, কলাম D এর সাথে
totalsযোগ করুন বা সারি 7 এর সাথেresponseId = 1234।একটি নির্দিষ্ট মেটাডেটা কী বা অ্যাট্রিবিউটের সাথে যুক্ত সমস্ত অবস্থান এবং ডেটা খুঁজুন —উদাহরণস্বরূপ, কলাম D-এর সাথে যুক্ত মূল
totalsবাresponseIdদেওয়া হলে,responseIdমেটাডেটা এবং তাদের সাথে সম্পর্কিত মেটাডেটা মান সহ সমস্ত সারি ফেরত দিন।একটি নির্দিষ্ট সত্তা বা অবস্থানের সাথে যুক্ত সমস্ত ডেটা খুঁজুন —উদাহরণস্বরূপ, প্রদত্ত কলাম D, সেই অবস্থানের সাথে যুক্ত সমস্ত মেটাডেটা ফেরত দিন।
সংশ্লিষ্ট মেটাডেটা নির্দিষ্ট করে একটি অবস্থানে মান পুনরুদ্ধার করুন —উদাহরণস্বরূপ,
totalsসংশ্লিষ্ট কলাম বা সারিতে থাকা মানগুলির একটি উপস্থাপনা প্রদান করে বা একটিsummaryপ্রদান করে সংশ্লিষ্ট পত্রক সম্পদের একটি উপস্থাপনা প্রদান করে।সংশ্লিষ্ট মেটাডেটা নির্দিষ্ট করে একটি অবস্থানে মান আপডেট করুন —উদাহরণস্বরূপ, A1 নোটেশনের মাধ্যমে একটি সারিতে মান আপডেট করার পরিবর্তে, একটি মেটাডেটা আইডি নির্দেশ করে মান আপডেট করুন।
মেটাডেটা পড়ুন এবং লিখুন
Spreadsheets.developerMetadata রিসোর্স একটি স্প্রেডশীটে অবস্থান বা বস্তুর সাথে যুক্ত বিকাশকারী মেটাডেটা অ্যাক্সেস প্রদান করে।
বিকাশকারী মেটাডেটা সম্পর্কে
এই বিভাগটি ডেভেলপার মেটাডেটার কিছু মূল দিক বর্ণনা করে যা আপনাকে Sheets API এর সাথে কাজ করার সময় বিবেচনা করা উচিত।
ট্যাগ হিসাবে মেটাডেটা
ডেভেলপার মেটাডেটার একটি ব্যবহার হল একটি ট্যাগ যা স্প্রেডশীটে শুধুমাত্র একটি কী এবং একটি অবস্থান ব্যবহার করে একটি অবস্থানের নাম দেয়। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট সারির সাথে headerRow বা একটি শীটের মধ্যে একটি নির্দিষ্ট কলামের সাথে totals যোগ করতে পারেন। ট্যাগগুলি একটি তৃতীয় পক্ষের টুল বা ডাটাবেসের ক্ষেত্রে একটি স্প্রেডশীটের অংশগুলিকে শব্দার্থকভাবে আবদ্ধ করতে ব্যবহার করা যেতে পারে, তাই স্প্রেডশীটে পরিবর্তনগুলি আপনার অ্যাপটিকে ভাঙবে না।
বৈশিষ্ট্য হিসাবে মেটাডেটা
একটি কী, অবস্থান, এবং একটি মান নির্দিষ্ট করে তৈরি করা মেটাডেটা একটি শীটে সেই অবস্থানের সাথে যুক্ত একটি কী-মানের জোড়া হিসাবে কাজ করে। উদাহরণস্বরূপ, আপনি সংযুক্ত করতে পারেন:
-
formResponseId = resp123সারি সহ -
lastUpdated = 1477369882একটি কলাম সহ।
এটি আপনাকে একটি স্প্রেডশীটে নির্দিষ্ট এলাকা বা ডেটার সাথে যুক্ত কাস্টম নামের বৈশিষ্ট্যগুলি সংরক্ষণ এবং অ্যাক্সেস করতে দেয়।
প্রকল্প বনাম নথি দৃশ্যমান মেটাডেটা
একটি বিকাশকারী প্রকল্পকে অন্যের মেটাডেটাতে হস্তক্ষেপ করা থেকে রোধ করতে, 2টি মেটাডেটা visibility সেটিংস রয়েছে: project এবং document ৷ Sheets API ব্যবহার করে, প্রোজেক্ট মেটাডেটা শুধুমাত্র সেই ডেভেলপার প্রোজেক্ট থেকে দৃশ্যমান এবং অ্যাক্সেসযোগ্য যা এটি তৈরি করেছে। দস্তাবেজ মেটাডেটা নথিতে অ্যাক্সেস সহ যে কোনও বিকাশকারী প্রকল্প থেকে অ্যাক্সেসযোগ্য।
যে প্রশ্নগুলি স্পষ্টভাবে একটি দৃশ্যমানতা রিটার্ন মেটিং ডকুমেন্ট মেটাডেটা নির্দিষ্ট করে না এবং ডেভেলপার প্রোজেক্টের জন্য মেটাডেটা মেটাচ্ছে।
অনন্যতা
মেটাডেটা কী অনন্য হতে হবে না, কিন্তু metadataId অবশ্যই আলাদা হতে হবে। আপনি যদি মেটাডেটা তৈরি করেন এবং এর আইডি ক্ষেত্র অনির্দিষ্ট রেখে যান, API একটি বরাদ্দ করে। এই আইডিটি মেটাডেটা সনাক্ত করতে ব্যবহার করা যেতে পারে, যখন কী এবং অন্যান্য বৈশিষ্ট্যগুলি মেটাডেটার সেট সনাক্ত করতে ব্যবহার করা যেতে পারে।
মেটাডেটা তৈরি করুন
মেটাডেটা তৈরি করতে, ব্যাচআপডেট পদ্ধতি ব্যবহার করুন এবং metadataKey , location এবং visibility সাথে একটি createDeveloperMetadataRequest সরবরাহ করুন। আপনি ঐচ্ছিকভাবে একটি metadataValue বা একটি স্পষ্ট metadataId নির্দিষ্ট করতে পারেন।
আপনি যদি এমন একটি আইডি উল্লেখ করেন যা ইতিমধ্যেই ব্যবহার করা হচ্ছে, তাহলে অনুরোধটি ব্যর্থ হবে। আপনি একটি আইডি সরবরাহ না করলে, API একটি বরাদ্দ করে।
এই উদাহরণে, আমরা অনুরোধে একটি কী, মান এবং একটি সারি প্রদান করি। প্রতিক্রিয়া এই ডেভেলপার মেটাডেটা মান এবং নির্ধারিত মেটাডেটা আইডি প্রদান করে।
অনুরোধ
{
"requests": [
{
"createDeveloperMetadata": {
"developerMetadata": {
"location": {
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT",
"metadataKey": "Sales",
"metadataValue": "2022"
}
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"createDeveloperMetadata": {
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "ROW",
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT"
}
}
}
]
}একটি একক মেটাডেটা আইটেম পড়ুন
একটি একক, স্বতন্ত্র বিকাশকারী মেটাডেটা পুনরুদ্ধার করতে, মেটাডেটা এবং বিকাশকারী মেটাডেটার অনন্য metadataId ধারণকারী spreadsheetId নির্দিষ্ট করে, স্প্রেডশিট.ডেভেলপারমেটাডাটা.গেট পদ্ধতি ব্যবহার করুন।
অনুরোধ
এই উদাহরণে, আমরা অনুরোধে স্প্রেডশীট আইডি এবং মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া মেটাডেটা আইডির জন্য বিকাশকারী মেটাডেটা মান প্রদান করে।
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/developerMetadata/metadataId
প্রতিক্রিয়া
{
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "ROW",
"dimensionRange": {
"sheetId": sheetId,
"dimension": "ROWS",
"startIndex": 6,
"endIndex": 7
}
},
"visibility": "DOCUMENT"
}একাধিক মেটাডেটা আইটেম পড়ুন
ডেভেলপার মেটাডেটার একাধিক আইটেম পুনরুদ্ধার করতে, স্প্রেডশিট.ডেভেলপারমেটাডাটা.সার্চ পদ্ধতি ব্যবহার করুন। আপনাকে একটি DataFilter নির্দিষ্ট করতে হবে যা কী, মান, অবস্থান বা দৃশ্যমানতার মতো বৈশিষ্ট্যগুলির যেকোন সমন্বয়ে বিদ্যমান মেটাডেটার সাথে মেলে।
এই উদাহরণে, আমরা অনুরোধে একাধিক মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া প্রতিটি মেটাডেটা আইডির জন্য বিকাশকারী মেটাডেটা মান প্রদান করে।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
},
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}প্রতিক্রিয়া
{
"matchedDeveloperMetadata": [
{
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Revenue",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
},
{
"developerMetadata": {
"metadataId": metadataId,
"metadataKey": "Sales",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}
]
}মেটাডেটা আপডেট করুন
বিকাশকারী মেটাডেটা আপডেট করতে, spreadsheets.batchUpdate পদ্ধতি ব্যবহার করুন এবং একটি UpdateDeveloperMetadataRequest সরবরাহ করুন। আপনাকে একটি DataFilter নির্দিষ্ট করতে হবে যা আপডেট করার জন্য মেটাডেটাকে লক্ষ্য করে, নতুন মান সহ একটি DeveloperMetadata অবজেক্ট এবং আপডেট করার জন্য ক্ষেত্রগুলি বর্ণনা করে একটি ফিল্ড মাস্ক ।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি, শীট আইডি এবং একটি নতুন মেটাডেটা কী প্রদান করি। প্রতিক্রিয়া এই ডেভেলপার মেটাডেটা মান এবং আপডেট করা মেটাডেটা কী ফেরত দেয়।
অনুরোধ
{
"requests": [
{
"updateDeveloperMetadata": {
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"developerMetadata": {
"location": {
"sheetId": sheetId
},
"metadataKey": "SalesUpdated"
},
"fields": "location,metadataKey"
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"updateDeveloperMetadata": {
"developerMetadata": [
{
"metadataId": metadataId,
"metadataKey": "SalesUpdated",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
}
]
}
}
]
}মেটাডেটা মুছুন
বিকাশকারী মেটাডেটা মুছতে, ব্যাচআপডেট পদ্ধতি ব্যবহার করুন এবং একটি DeleteDeveloperMetadataRequest সরবরাহ করুন। আপনি যে মেটাডেটা মুছতে চান তা নির্বাচন করতে আপনাকে একটি DataFilter নির্দিষ্ট করতে হবে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া মেটাডেটা আইডির জন্য বিকাশকারী মেটাডেটা মান প্রদান করে।
ডেভেলপার মেটাডেটা সরানো হয়েছে তা নিশ্চিত করতে, মুছে ফেলা মেটাডেটা আইডি উল্লেখ করে, স্প্রেডশীট.ডেভেলপারমেটাডাটা.গেট পদ্ধতি ব্যবহার করুন। আপনার একটি 404: Not Found HTTP স্ট্যাটাস কোডের প্রতিক্রিয়া পাওয়া উচিত, যেখানে একটি বার্তা বলা উচিত "আইডি metadataId সহ কোনও বিকাশকারী মেটাডেটা নেই।
অনুরোধ
{
"requests": [
{
"deleteDeveloperMetadata": {
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
}
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"replies": [
{
"deleteDeveloperMetadata": {
"deletedDeveloperMetadata": [
{
"metadataId": metadataId,
"metadataKey": "SalesUpdated",
"metadataValue": "2022",
"location": {
"locationType": "SHEET",
"sheetId": sheetId
},
"visibility": "DOCUMENT"
}
]
}
}
]
}মেটাডেটার সাথে সম্পর্কিত মানগুলি পড়ুন এবং লিখুন
আপনি সংশ্লিষ্ট বিকাশকারী মেটাডেটা এবং আপনি যে মানগুলি আপডেট করতে চান তা নির্দিষ্ট করে সারি এবং কলামে ঘরের মানগুলি পুনরুদ্ধার এবং আপডেট করতে পারেন৷ এটি করার জন্য, একটি মিলে যাওয়া DataFilter সাথে নীচের উপযুক্ত পদ্ধতিটি ব্যবহার করুন।
মেটাডেটা দ্বারা সেল মান পান
মেটাডেটা দ্বারা সেল মান পেতে, স্প্রেডশীট.values.batchGetByDataFilter পদ্ধতি ব্যবহার করুন৷ আপনাকে স্প্রেডশীট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া মেটাডেটা আইডির জন্য সারি ঘরের মান (মডেল নম্বর, মাসিক বিক্রয়) প্রদান করে।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"majorDimension": "ROWS"
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"valueRanges": [
{
"valueRange": {
"range": "Sheet7!A7:Z7",
"majorDimension": "ROWS",
"values": [
[
"W-24",
"74"
]
]
},
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}
]
}মেটাডেটা দ্বারা স্প্রেডশীট পান
একটি স্প্রেডশীট পুনরুদ্ধার করার সময়, আপনি স্প্রেডশীট.getByDataFilter পদ্ধতি ব্যবহার করে ডেটার একটি উপসেট ফেরত দিতে পারেন। আপনাকে স্প্রেডশীট আইডি এবং মেটাডেটার সাথে মেলে এমন এক বা একাধিক ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
এই অনুরোধটি একটি নিয়মিত "স্প্রেডশীট GET" অনুরোধ হিসাবে কাজ করে, নির্দিষ্ট ডেটা ফিল্টার দ্বারা মেলে মেটাডেটার তালিকা ছাড়া মেটাডেটা সহ কোন শীট, গ্রিড ডেটা এবং অন্যান্য বস্তুর সংস্থানগুলি ফেরত দেওয়া হবে তা নির্ধারণ করে৷ includeGridData সত্যে সেট করা থাকলে, নির্দিষ্ট গ্রিড রেঞ্জগুলিকে ছেদকারী গ্রিড ডেটাও শীটের জন্য ফেরত দেওয়া হয়।
এই উদাহরণে, আমরা মেটাডেটা আইডি প্রদান করি এবং অনুরোধে অন্তর্ভুক্ত গ্রিডডেটা মিথ্যাতে সেট করি। প্রতিক্রিয়া স্প্রেডশীট এবং শীট উভয় বৈশিষ্ট্য প্রদান করে।
অনুরোধ
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
],
"includeGridData": false
}প্রতিক্রিয়া
{ "spreadsheetId": spreadsheetId, "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": sheetId, "title": "Sheet7", "index": 7, "sheetType": "GRID", "gridProperties": { "rowCount": 1000, "columnCount": 26 } } } ], "spreadsheetUrl": spreadsheetUrl }
মেটাডেটা দ্বারা মান আপডেট করুন
নির্দিষ্ট মেটাডেটা মেলে সেল মান আপডেট করতে, স্প্রেডশীট.values.batchUpdateByDataFilter পদ্ধতি ব্যবহার করুন। আপনাকে স্প্রেডশীট আইডি, valueInputOption এবং এক বা একাধিক DataFilterValueRange নির্দিষ্ট করতে হবে যা মেটাডেটার সাথে মেলে।
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি এবং আপডেট করা সারি মান প্রদান করি। প্রতিক্রিয়া মেটাডেটা আইডির জন্য আপডেট করা বৈশিষ্ট্য এবং ডেটা উভয়ই প্রদান করে।
অনুরোধ
{
"data": [
{
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
},
"majorDimension": "ROWS",
"values": [
[
"W-24",
"84"
]
]
}
],
"includeValuesInResponse": true,
"valueInputOption": "USER_ENTERED"
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"totalUpdatedRows": 1,
"totalUpdatedColumns": 2,
"totalUpdatedCells": 2,
"totalUpdatedSheets": 1,
"responses": [
{
"updatedRange": "Sheet7!A7:B7",
"updatedRows": 1,
"updatedColumns": 2,
"updatedCells": 2,
"dataFilter": {
"developerMetadataLookup": {
"metadataId": metadataId
}
},
"updatedData": {
"range": "Sheet7!A7:Z7",
"majorDimension": "ROWS",
"values": [
[
"W-24",
"84"
]
]
}
}
]
}মেটাডেটা দ্বারা মান সাফ করুন
নির্দিষ্ট মেটাডেটা মেলে ঘরের মানগুলি সাফ করতে, স্প্রেডশীট.ভালুস.ব্যাচক্লিয়ারবাইডেটাফিল্টার পদ্ধতি ব্যবহার করুন৷ আপনি যে মেটাডেটা সাফ করতে চান তা নির্বাচন করতে আপনাকে একটি ডেটা ফিল্টার নির্দিষ্ট করতে হবে।
অনুরোধ
এই উদাহরণে, আমরা অনুরোধে মেটাডেটা আইডি প্রদান করি। প্রতিক্রিয়া স্প্রেডশীট আইডি এবং সাফ করা পরিসীমা প্রদান করে।
{
"dataFilters": [
{
"developerMetadataLookup": {
"metadataId": metadataId
}
}
]
}প্রতিক্রিয়া
{
"spreadsheetId": spreadsheetId,
"clearedRanges": [
"Sheet7!A7:Z7"
]
}মেটাডেটা স্টোরেজ সীমা
একটি স্প্রেডশীটে আপনি কতটা মেটাডেটা সঞ্চয় করতে পারেন তার একটা সীমা আছে। এই সীমাটি অক্ষরে পরিমাপ করা হয় এবং 2টি উপাদান নিয়ে গঠিত:
| আইটেম | স্টোরেজ সীমা বরাদ্দ |
|---|---|
| স্প্রেডশীট | 30,000 অক্ষর |
| একটি স্প্রেডশীটের মধ্যে প্রতিটি শীট | 30,000 অক্ষর |
আপনি স্প্রেডশীটের জন্য 30,000 অক্ষর পর্যন্ত সঞ্চয় করতে পারেন। এছাড়াও, আপনি একটি স্প্রেডশীটের মধ্যে প্রতিটি শীটের জন্য 30,000 অক্ষর সংরক্ষণ করতে পারেন (শীট 1 এর জন্য 30,000, শীট 2 এর জন্য 30,000 এবং আরও অনেক কিছু)। সুতরাং 3 পৃষ্ঠা সহ একটি স্প্রেডশীটে বিকাশকারী মেটাডেটার 120,000 অক্ষর থাকতে পারে।
একটি developerMetadata অবজেক্টের কী এবং মান বৈশিষ্ট্যের প্রতিটি অক্ষর এই সীমার দিকে গণনা করে।