मेटाडेटा को पढ़ना, लिखना, और खोजना

मेटाडेटा सुविधा की मदद से, स्प्रेडशीट में मौजूद अलग-अलग इकाइयों और जगहों के साथ मेटाडेटा जोड़ा जा सकता है. इसके बाद, इस मेटाडेटा के बारे में क्वेरी की जा सकती है. साथ ही, इसका इस्तेमाल उन ऑब्जेक्ट को ढूंढने के लिए किया जा सकता है जिनसे यह जुड़ा है.

मेटाडेटा को पंक्तियों, कॉलम, शीट या स्प्रेडशीट से जोड़ा जा सकता है.

मेटाडेटा के बारे में जानकारी

यहां मेटाडेटा के कुछ मुख्य पहलुओं के बारे में बताया गया है. Sheets API का इस्तेमाल करते समय, आपको इन बातों का ध्यान रखना चाहिए:

  1. टैग के तौर पर मेटाडेटा: डेवलपर मेटाडेटा का इस्तेमाल टैग के तौर पर किया जा सकता है. यह टैग, स्प्रेडशीट में किसी जगह का नाम बताता है. इसके लिए, सिर्फ़ एक कुंजी और जगह का इस्तेमाल किया जाता है. उदाहरण के लिए, headerRow को किसी शीट की किसी लाइन या totals को किसी कॉलम से जोड़ा जा सकता है. टैग का इस्तेमाल करके, स्प्रेडशीट के कुछ हिस्सों को तीसरे पक्ष के टूल या डेटाबेस के फ़ील्ड से सिमैंटिक तौर पर बाइंड किया जा सकता है. इससे स्प्रेडशीट में किए गए बदलावों से आपका ऐप्लिकेशन काम करना बंद नहीं करेगा.

  2. मेटाडेटा को प्रॉपर्टी के तौर पर इस्तेमाल करना: किसी कुंजी, जगह, और वैल्यू के बारे में जानकारी देकर बनाया गया मेटाडेटा, शीट में उस जगह से जुड़े की-वैल्यू पेयर के तौर पर काम करता है. उदाहरण के लिए, ये काम किए जा सकते हैं:

    • लाइन के साथ formResponseId = resp123
    • lastUpdated = 1477369882 में एक कॉलम

    इसकी मदद से, स्प्रेडशीट में किसी खास क्षेत्र या डेटा से जुड़ी कस्टम नाम वाली प्रॉपर्टी को सेव और ऐक्सेस किया जा सकता है.

  3. प्रोजेक्ट बनाम दस्तावेज़ के लिए दिखने वाला मेटाडेटा: एक डेवलपर प्रोजेक्ट को दूसरे के मेटाडेटा में दखल देने से रोकने के लिए, मेटाडेटा की दो visibility सेटिंग होती हैं: project और document. Sheets API का इस्तेमाल करके, project मेटाडेटा सिर्फ़ उस Google Cloud प्रोजेक्ट से देखा और ऐक्सेस किया जा सकता है जिसने इसे बनाया है. document मेटाडेटा को ऐसे किसी भी Google Cloud प्रोजेक्ट से ऐक्सेस किया जा सकता है जिसके पास दस्तावेज़ का ऐक्सेस हो.

    ऐसी क्वेरी जिनमें visibilityमिलते-जुलते नतीजे दिखाने के लिए मेटाडेटा और अनुरोध करने वाले Google Cloud प्रोजेक्ट के लिए projectमिलते-जुलते नतीजे दिखाने के लिए मेटाडेटा के बारे में साफ़ तौर पर नहीं बताया गया है.document

  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 ऑब्जेक्ट का इस्तेमाल किया जा सकता है. DataFilter ऑब्जेक्ट का ऐरे या सूची, बैच अनुरोध को दें. जैसे, spreadsheets.values.batchGetByDataFilter तरीका. अनुरोध में मौजूद किसी भी डेटा फ़िल्टर से मेल खाने वाली कोई भी रेंज वापस भेज दी जाएगी या उसमें बदलाव कर दिया जाएगा.

    ज़्यादा जानकारी के लिए, मेटाडेटा से जुड़ी वैल्यू पढ़ना और लिखना लेख पढ़ें.

उपयोग के उदाहरण

मेटाडेटा मैनेज करने के कुछ उदाहरण यहां दिए गए हैं:

  • स्प्रेडशीट में मौजूद अलग-अलग इकाइयों और जगहों के साथ कोई भी डेटा जोड़ना: उदाहरण के लिए, totals को कॉलम D के साथ या responseId = 1234 को लाइन 7 के साथ जोड़ें.

  • किसी मेटाडेटा कुंजी या एट्रिब्यूट से जुड़ी सभी जगहों और डेटा का पता लगाएं: उदाहरण के लिए, कॉलम 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 तरीके का इस्तेमाल करें. साथ ही, मेटाडेटा और डेवलपर मेटाडेटा का यूनीक metadataId शामिल करने वाला spreadsheetId तय करें.

अनुरोध

इस उदाहरण में, हमने अनुरोध में स्प्रेडशीट आईडी और मेटाडेटा आईडी दिया है. जवाब में, मेटाडेटा आईडी के लिए डेवलपर मेटाडेटा की वैल्यू दिखती हैं.

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 तय करना होगा जो कुंजी, वैल्यू, जगह या दिखने की स्थिति जैसी प्रॉपर्टी के किसी भी कॉम्बिनेशन पर मौजूद किसी भी मेटाडेटा से मेल खाता हो.

इस उदाहरण में, हमने अनुरोध में कई मेटाडेटा आईडी दिए हैं. जवाब में, हर मेटाडेटा आईडी के लिए डेवलपर मेटाडेटा वैल्यू मिलती हैं.

अनुरोध

{
  "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 एचटीटीपी स्टेटस कोड वाला जवाब मिलेगा. इसमें यह मैसेज होगा कि "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"
  ]
}

मेटाडेटा स्टोरेज की सीमाएं

स्प्रेडशीट में स्टोर किए जा सकने वाले मेटाडेटा की कुल मात्रा की एक सीमा होती है. इस सीमा को वर्णों में मापा जाता है. इसमें दो कॉम्पोनेंट होते हैं:

आइटम स्टोरेज की सीमा तय करना
स्प्रेडशीट 30,000 वर्ण
स्प्रेडशीट में मौजूद हर शीट 30,000 वर्ण

स्प्रेडशीट के लिए, ज़्यादा से ज़्यादा 30,000 वर्ण सेव किए जा सकते हैं. इसके अलावा, स्प्रेडशीट में मौजूद हर शीट के लिए 30,000 वर्ण सेव किए जा सकते हैं. जैसे,पहली शीट के लिए 30, 000 वर्ण,दूसरी शीट के लिए 30, 000 वर्ण वगैरह. इसलिए, तीन शीट वाली स्प्रेडशीट में ज़्यादा से ज़्यादा 1,20,000 वर्णों का मेटाडेटा हो सकता है.

spreadsheets.developerMetadata रिसॉर्स के metadataKey और metadataValue फ़ील्ड में मौजूद हर वर्ण को इस सीमा में शामिल करके गिना जाता है.