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 Slaytlar API'deki hem okuma hem de güncelleme yöntemleri için kullanılır.

Alan maskesiyle oku

Sunumlar büyük olabilir ve genellikle sunumunuzun her kısmına ihtiyacınız olmaz. Presentation Bir okuma isteği tarafından döndürülen kaynak. Bir Slaytlar 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ı değeri parantez içinde belirtilebilir.

Aşağıdaki presentations.get istek örneği, yalnızca nesne kimliğini getirmek için slides.pageElements(objectId,size,transform), Size ve dönüştür pageElement nesne olarak ekleme:

GET https://slides.googleapis.com/v1/presentations/presentationId?fields=slides.pageElements(objectId,size,transform)

Bu yöntem çağrısına verilen yanıt Presentation nesne alan maskesinde istenen bileşenleri içerir:

{
  "slides": [
    {
      "pageElements": [
        {
          "objectId": "OBJECT_ID",
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1
            "translateX": 311708,
            "translateY": 744575,
            "unit": "EMU"
          }
        },
        {
          "objectId": "OBJECT_ID",
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1
            "translateX": 311700,
            "translateY": 2834125,
            "unit": "EMU"
          }
        }
     ]
    }
  ]
}

Alan maskesiyle güncelle

Bazen bir nesnedeki belirli alanları güncellemeniz gerekir. diğer alanlarda değişiklik yapılamaz. İstekleri bir presentations.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.

Ayrıca, güncellenen mesajda belirtmeyerek de bir alanı kaldırabilirsiniz. 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 UpdateShapePropertiesRequest bir şeklin renk dolgusunu DARK1 tema rengiyle değiştirin ve şeklin özet:

POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": OBJECT_ID,
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "DARK1"
              }
            }
          }
        },
        "fields": "shapeBackgroundFill.solidFill.color,outline"
      }
    }
  ]
}