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

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

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

คุณสร้างข้อมูลเมตาเพื่อดำเนินการต่างๆ ได้ เช่น

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

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

  • ค้นหาข้อมูลทั้งหมดที่เชื่อมโยงกับเอนทิตีหรือสถานที่ตั้งหนึ่งๆ: เช่น หากมีคอลัมน์ D ให้แสดงข้อมูลเมตาทั้งหมดที่เชื่อมโยงกับสถานที่ตั้งนั้น

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

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

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

แหล่งข้อมูล spreadsheets.developerMetadata ช่วยให้เข้าถึงข้อมูลเมตาที่เชื่อมโยงกับสถานที่หรือออบเจ็กต์ใน สเปรดชีตได้

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

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

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

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

    • formResponseId = resp123 ที่มีแถว
    • lastUpdated = 1477369882 ที่มีคอลัมน์

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

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

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

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

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

หากต้องการสร้างข้อมูลเมตา ให้ใช้วิธี 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 พร้อมข้อความที่ระบุว่า "ไม่มีข้อมูลเมตาของนักพัฒนาซอฟต์แวร์ที่มีรหัส 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 รายการที่ ตรงกับข้อมูลเมตา

คำขอนี้ทํางานเหมือนคําขอ "GET สเปรดชีต" ปกติ ยกเว้นรายการข้อมูลเมตาที่ตรงกันตามตัวกรองข้อมูลที่ระบุจะเป็นตัวกําหนดว่าระบบจะแสดงชีต ข้อมูลตารางกริด และทรัพยากรออบเจ็กต์อื่นๆ ที่มีข้อมูลเมตาใด หากตั้งค่า includeGridData เป็น "จริง" ระบบจะแสดงข้อมูลตารางกริดที่ตัดกับช่วงตารางกริดที่ระบุสำหรับชีตด้วย ระบบจะไม่สนใจฟิลด์ 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 จะนับรวมในขีดจำกัดนี้