อ่าน เขียน และค้นหาข้อมูลเมตา

ฟีเจอร์ข้อมูลเมตาช่วยให้คุณเชื่อมโยงข้อมูลเมตากับเอนทิตีและตำแหน่งต่างๆ ในสเปรดชีตได้ จากนั้นคุณจะค้นหาข้อมูลเมตานี้และใช้เพื่อค้นหาออบเจ็กต์ที่เชื่อมโยงกับข้อมูลเมตานั้นได้

คุณสามารถเชื่อมโยงข้อมูลเมตากับแถว คอลัมน์ ชีต หรือสเปรดชีตได้

เกี่ยวกับข้อมูลเมตา

ต่อไปนี้อธิบายลักษณะสำคัญบางประการของข้อมูลเมตาที่คุณควรพิจารณาเมื่อใช้ Sheets API

  1. ข้อมูลเมตาเป็นแท็ก: การใช้ข้อมูลเมตาของนักพัฒนาซอฟต์แวร์อย่างหนึ่งคือ แท็ก ที่ตั้งชื่อ ตำแหน่งในสเปรดชีตโดยใช้เพียงคีย์และตำแหน่ง เช่น คุณสามารถเชื่อมโยง headerRow กับแถวที่เฉพาะเจาะจง หรือ totals กับคอลัมน์ที่เฉพาะเจาะจงภายในชีต แท็กสามารถใช้เพื่อผูกส่วนต่างๆ ของสเปรดชีตกับช่องในเครื่องมือหรือฐานข้อมูลของบุคคลที่สามในเชิงความหมายได้ เพื่อให้การเปลี่ยนแปลงในสเปรดชีตไม่ทำให้แอปของคุณใช้งานไม่ได้

  2. ข้อมูลเมตาเป็นพร็อพเพอร์ตี้: ข้อมูลเมตาที่สร้างขึ้นโดยการระบุคีย์ ตำแหน่ง และ ค่า จะทำหน้าที่เป็นคู่คีย์-ค่าที่เชื่อมโยงกับตำแหน่งนั้นใน ชีต เช่น คุณสามารถเชื่อมโยงข้อมูลต่อไปนี้

    • formResponseId = resp123 กับแถว
    • lastUpdated = 1477369882 กับคอลัมน์

    ซึ่งช่วยให้คุณจัดเก็บและเข้าถึงพร็อพเพอร์ตี้ที่มีชื่อที่กำหนดเองซึ่งเชื่อมโยงกับ พื้นที่หรือข้อมูลที่เฉพาะเจาะจงในสเปรดชีตได้

  3. ข้อมูลเมตาที่มองเห็นได้ในโปรเจ็กต์เทียบกับข้อมูลเมตาที่มองเห็นได้ในเอกสาร: เพื่อป้องกันไม่ให้โปรเจ็กต์ของนักพัฒนาซอฟต์แวร์หนึ่งรายรบกวนข้อมูลเมตาของอีกราย จึงมีการตั้งค่าข้อมูลเมตา visibility 2 แบบ ได้แก่ project และ document เมื่อใช้ Sheets API ข้อมูลเมตา project จะมองเห็นและเข้าถึงได้จากโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่สร้างข้อมูลเมตานั้นเท่านั้น ส่วนข้อมูลเมตา document จะเข้าถึงได้จากโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ใดก็ตามที่มีสิทธิ์เข้าถึงเอกสาร

    การค้นหาที่ไม่ได้ระบุ visibility อย่างชัดเจนจะแสดงผลข้อมูลเมตา document ที่ตรงกันและข้อมูลเมตา project ที่ตรงกันสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud ที่ส่งคำขอ

  4. ความไม่ซ้ำกัน: คีย์ข้อมูลเมตาไม่จำเป็นต้องไม่ซ้ำกัน แต่ metadataId ต้องแตกต่างกัน หากคุณสร้างข้อมูลเมตาและปล่อยให้ช่องรหัสว่างไว้ API จะกำหนดรหัสให้ คุณสามารถใช้รหัสนี้เพื่อระบุข้อมูลเมตา ขณะที่คีย์และแอตทริบิวต์อื่นๆ สามารถใช้เพื่อระบุชุดข้อมูลเมตาได้

  5. แสดงผลข้อมูลเมตาผ่านคำขอ API: ออบเจ็กต์ DataFilter เป็น ส่วนหนึ่งของการเรียก API ที่อธิบายข้อมูลที่จะเลือกหรือแสดงผลจาก คำขอ API

    ออบเจ็กต์ DataFilter รายการเดียวระบุเกณฑ์ตัวกรองได้เพียงประเภทเดียวเพื่อค้นหาข้อมูล ดังนี้

    • developerMetadataLookup: เลือกข้อมูลที่เชื่อมโยงกับข้อมูลเมตาของนักพัฒนาซอฟต์แวร์ที่ระบุซึ่งตรงกับเกณฑ์

    • a1Range: เลือกข้อมูลที่ตรงกับช่วงสัญกรณ์ A1 ที่ระบุ เช่น Sheet1!A1:B10

    • gridRange: เลือกข้อมูลที่ตรงกับช่วงตารางกริดที่ระบุโดยใช้ดัชนีที่อิงตาม 0 เช่น Sheet1!A3:B4 == sheetId: 123456, startRowIndex: 2, endRowIndex: 4, startColumnIndex: 0, endColumnIndex: 2

    หากต้องการกรองตามตำแหน่งหรือเกณฑ์หลายรายการ คุณสามารถใช้ออบเจ็กต์ DataFilterหลายรายการในคำขอ API เดียวได้ โดยระบุอาร์เรย์หรือรายการ ออบเจ็กต์ DataFilterในคำขอแบบกลุ่ม เช่น spreadsheets.values.batchGetByDataFilter เมธอด ระบบจะแสดงผลหรือแก้ไขช่วงใดก็ตามที่ตรงกับตัวกรองข้อมูลใดๆ ในคำขอ จะแสดงผลหรือแก้ไข

    ดูข้อมูลเพิ่มเติมได้ที่อ่านและเขียนค่าที่เชื่อมโยงกับ ข้อมูลเมตา

กรณีการใช้งาน

ต่อไปนี้เป็นกรณีการใช้งานตัวอย่างสำหรับการจัดการข้อมูลเมตา

  • เชื่อมโยงข้อมูลที่กำหนดเองกับเอนทิตีและตำแหน่งต่างๆ ใน สเปรดชีต: เช่น เชื่อมโยง totals กับคอลัมน์ D หรือ responseId = 1234 กับแถว 7

  • ค้นหาตำแหน่งและข้อมูลทั้งหมดที่เชื่อมโยงกับคีย์หรือ แอตทริบิวต์ข้อมูลเมตาที่เฉพาะเจาะจง: เช่น เมื่อระบุคีย์ totals ที่เชื่อมโยงกับคอลัมน์ D หรือ เมื่อระบุ responseId ให้แสดงผลแถวทั้งหมดที่มีข้อมูลเมตา responseId และ ค่าข้อมูลเมตาที่เชื่อมโยงกับแถวเหล่านั้น

  • ค้นหาข้อมูลทั้งหมดที่เชื่อมโยงกับเอนทิตีหรือตำแหน่งที่เฉพาะเจาะจง: เช่น เมื่อระบุคอลัมน์ D ให้แสดงผลข้อมูลเมตาทั้งหมดที่เชื่อมโยงกับตำแหน่งนั้น

  • ดึงข้อมูลค่าในตำแหน่งที่ระบุโดยระบุข้อมูลเมตาที่เชื่อมโยง: เช่น เมื่อระบุ totals ให้แสดงผลค่าที่อยู่ในคอลัมน์หรือแถวที่เชื่อมโยง หรือเมื่อระบุ summary ให้แสดงผลทรัพยากรชีตที่เชื่อมโยง

  • อัปเดตค่าในตำแหน่งที่ระบุโดยระบุข้อมูลเมตาที่เชื่อมโยง: เช่น แทนที่จะอัปเดตค่าในแถวผ่าน สัญกรณ์ A1 ให้อัปเดตค่า โดยระบุรหัสข้อมูลเมตา

อ่านและเขียนข้อมูลเมตา

ทรัพยากร spreadsheets.developerMetadata ให้สิทธิ์เข้าถึงข้อมูลเมตาที่เชื่อมโยงกับตำแหน่งหรือออบเจ็กต์ในสเปรดชีต คุณสามารถใช้ข้อมูลเมตาของนักพัฒนาซอฟต์แวร์เพื่อเชื่อมโยงข้อมูลที่กำหนดเองกับส่วนต่างๆ ของสเปรดชีต ข้อมูลเมตาจะยังคงเชื่อมโยงกับตำแหน่งเหล่านั้นเมื่อมีการแก้ไขสเปรดชีต

สร้างข้อมูลเมตา

หากต้องการสร้างข้อมูลเมตา ให้ใช้ batchUpdate เมธอดใน spreadsheetsทรัพยากร และระบุ CreateDeveloperMetadataRequest ที่มี metadataKey location และ visibility ค่าจาก spreadsheets.developerMetadataทรัพยากร นอกจากนี้ คุณยังระบุ metadataValue หรือ metadataId ที่ชัดเจนได้ด้วย

หากคุณระบุรหัสที่มีการใช้งานอยู่แล้ว คำขอจะไม่สำเร็จ หากคุณไม่ระบุรหัส API จะกำหนดรหัสให้

ในตัวอย่างนี้ เราจะระบุคีย์ ค่า และแถวในคำขอ การตอบกลับจะแสดงผลค่าข้อมูลเมตาของนักพัฒนาซอฟต์แวร์เหล่านี้ รวมถึงรหัสข้อมูลเมตาที่กำหนด

คำขอ

{
  "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 ที่ตรงกับ ข้อมูลเมตาที่มีอยู่ในการผสมผสานพร็อพเพอร์ตี้ต่างๆ เช่น คีย์ ค่า ตำแหน่ง หรือการมองเห็น

ในตัวอย่างนี้ เราจะระบุรหัสข้อมูลเมตาหลายรายการในคำขอ การตอบกลับจะแสดงผลค่าข้อมูลเมตาของนักพัฒนาซอฟต์แวร์สำหรับรหัสข้อมูลเมตาแต่ละรายการ

คำขอ

{
  "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 เมธอด โดยระบุรหัสข้อมูลเมตาที่ลบ คุณควรได้รับการตอบกลับรหัสสถานะ HTTP 404: Not Found พร้อมข้อความระบุว่า "No developer metadata with ID 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 เมธอด คุณต้องระบุรหัสสเปรดชีตและตัวกรองข้อมูลอย่างน้อย 1 รายการที่ตรงกับข้อมูลเมตา

ในตัวอย่างนี้ เราจะระบุรหัสข้อมูลเมตาในคำขอ การตอบกลับจะแสดงผลค่าเซลล์ของแถว (หมายเลขโมเดล ยอดขายรายเดือน) สำหรับรหัสข้อมูลเมตา

คำขอ

{
  "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 เมธอด คุณต้องระบุรหัสสเปรดชีตและตัวกรองข้อมูลอย่างน้อย 1 รายการที่ตรงกับข้อมูลเมตา

คำขอนี้ทำหน้าที่เป็นคำขอ "spreadsheet 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 อย่างน้อย 1 รายการที่ตรงกับข้อมูลเมตา

ในตัวอย่างนี้ เราจะระบุรหัสข้อมูลเมตาและค่าแถวที่อัปเดตในคำขอ การตอบกลับจะแสดงผลทั้งพร็อพเพอร์ตี้และข้อมูลที่อัปเดตสำหรับรหัสข้อมูลเมตา

คำขอ

{
  "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"
  ]
}

ขีดจำกัดของพื้นที่เก็บข้อมูลเมตา

มีขีดจำกัดเกี่ยวกับจำนวนข้อมูลเมตาทั้งหมดที่คุณจัดเก็บในสเปรดชีตได้ ขีดจำกัดนี้วัดเป็นจำนวนอักขระและประกอบด้วย 2 ส่วน ดังนี้

รายการ การจัดสรรขีดจำกัดของพื้นที่เก็บข้อมูล
สเปรดชีต 30,000 อักขระ
ชีตแต่ละชีตภายในสเปรดชีต 30,000 อักขระ

คุณจัดเก็บข้อมูลเมตาสำหรับสเปรดชีตได้สูงสุด 30,000 อักขระ นอกจากนี้ คุณยังจัดเก็บข้อมูลเมตาสำหรับชีตแต่ละชีตภายในสเปรดชีตได้ 30,000 อักขระ (30,000 อักขระสำหรับชีตที่ 1, 30,000 อักขระสำหรับชีตที่ 2 และอื่นๆ) ดังนั้น สเปรดชีตที่มี 3 ชีตจึงมีข้อมูลเมตาได้สูงสุด 120,000 อักขระ

อักขระแต่ละตัวในฟิลด์ metadataKey และ metadataValue ของทรัพยากร spreadsheets.developerMetadata จะนับรวมในขีดจำกัดนี้