Alan maskeleri kullanma

Alan maskeleri, API çağrılarının bir istekte bulunması gereken alanları iade veya güncelleme yapmaktır. Bir FieldMask API'nin gereksiz işlerden kaçınmasını sağlar ve performansı artırır. Alan maskesi , Google Sheets API'de hem okuma hem de güncelleme yöntemleri için kullanılır.

Alan maskesiyle oku

Elektronik tablolar büyük olabilir ve genellikle Spreadsheet Bir okuma isteği tarafından döndürülen kaynak. Bir E-Tablolar API yanıtı (fields URL parametresi kullanılarak). En iyisi için performans, yalnızca ihtiyacınız olan alanları açık bir şekilde listeleyin kullanıcı olabilir.

Alanlar parametresinin biçimi Bir FieldMask'in JSON kodlaması. Kısaca belirtmek gerekirse, birden fazla farklı alan virgülle ayrılmış, alt alanlar ise noktayla ayrılır. Alan adları, camelCase veya separated_by_underscores. Kolaylık sağlaması açısından aynı parantez içinde listelenebilir.

Aşağıdakiler spreadsheets.get isteği örneği, bir URL'yi oluşturmak için sheets.properties(sheetId,title,sheetType,gridProperties) alan maskesini yalnızca sayfa kimliğini, başlığı ve SheetType ve GridProperties bir SheetProperties nesne olarak tanımlar:

GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties(sheetId,title,sheetType,gridProperties)

Bu yöntem çağrısına verilen yanıt Spreadsheet alan maskesinde istenen bileşenleri içeren nesne. Lütfen sheetType=OBJECT, gridProperties değerini içermiyor:

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "TITLE",
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 1000,
          "columnCount": 25
        }
      }
    },
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "TITLE",
        "sheetType": "OBJECT"
      }
    }
  ]
}

Alan maskesiyle güncelle

Bazen bir nesnedeki belirli alanları güncellemeniz gerekir. diğer alanlarda değişiklik yapılamaz. İstekleri bir spreadsheets.batchUpdate işlemi, API'ye hangi alanların değiştirildiğini bildirmek için alan maskeleri kullanır. İlgili içeriği oluşturmak için kullanılan güncelleme isteği, alan maskesinde belirtilmeyen tüm alanları yoksayar, değerleri koruyabilmelidir.

Bir alanı, güncellenen mesajda belirtmeyerek de ayarını iptal edebilirsiniz. alanı maskeye ekliyorum. Bu işlem, alanda önceden elde etti.

Güncelleme alanı maskelerinin söz dizimi, okuma alanı maskeleriyle aynıdır.

Aşağıdaki örnekte AddSheetRequest Grid türünde yeni bir sayfa eklemek, ilk satırı dondurmak ve yeni sayfayı renklendirmek e-tablonun sekmesi kırmızı:

POST https://sheets.googleapis.com/v1/spreadsheets/spreadsheetId:batchUpdate
{
  "spreadsheetId": "SPREADSHEET_ID",
  "replies": [
    {
      "addSheet": {
        "properties": {
          "sheetId": SHEET_ID,
          "title": "TITLE",
          "index": 6,
          "sheetType": "GRID",
          "gridProperties": {
            "rowCount": 1000,
            "columnCount": 26,
            "frozenRowCount": 1
          },
          "tabColor": {
            "red": 0.003921569
          },
          "tabColorStyle": {
            "rgbColor": {
              "red": 0.003921569
            }
          }
        }
      }
    }
  ]
}