ใช้มาสก์ช่อง

ฟิลด์มาสก์คือวิธีที่การเรียก API ใช้เพื่อแสดงรายการช่องที่คำขอควรแสดงผลหรืออัปเดต การใช้ FieldMask ช่วยให้ API หลีกเลี่ยงงานที่ไม่จำเป็นและปรับปรุงประสิทธิภาพได้ ฟิลด์มาสก์จะใช้สำหรับทั้งวิธีการอ่านและอัปเดตใน Google สไลด์ API

อ่านด้วยฟิลด์มาสก์

งานนำเสนออาจมีขนาดใหญ่ ส่วนใหญ่แล้วคุณไม่จําเป็นต้องใช้ทุกส่วนของทรัพยากร Presentation ที่ส่งคืนมาจากคําขออ่าน คุณจำกัดสิ่งที่แสดงผลในการตอบกลับของ Slides API ได้โดยใช้พารามิเตอร์ของ URL fields เพื่อประสิทธิภาพที่ดีที่สุด ให้แสดงเฉพาะช่องที่จำเป็นอย่างชัดเจนในการตอบกลับ

รูปแบบของพารามิเตอร์ช่องจะเหมือนกับการเข้ารหัส JSON ของ FieldMask เราขออธิบายสั้นๆ ว่าช่องต่างๆ หลายช่องมีการคั่นด้วยคอมมา และช่องย่อยจะคั่นด้วยจุด ชื่อช่องระบุได้ใน camelCase หรือ Separat_by_underscores เพื่อความสะดวก คุณสามารถใส่ช่องย่อยหลายช่องจากประเภทเดียวกันไว้ในวงเล็บได้

ตัวอย่างคำขอ presentations.get ต่อไปนี้ใช้มาสก์ของช่อง slides.pageElements(objectId,size,transform) เพื่อดึงข้อมูลเฉพาะรหัสออบเจ็กต์ Size และเปลี่ยนรูปแบบของออบเจ็กต์ pageElement ในสไลด์ทั้งหมดในงานนำเสนอ

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

การตอบกลับการเรียกเมธอดนี้คือออบเจ็กต์ Presentation ที่มีคอมโพเนนต์ที่ขอในมาสก์ของช่อง

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

อัปเดตด้วยมาสก์ของช่อง

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

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

ไวยากรณ์ของมาสก์ฟิลด์สำหรับอัปเดตจะเหมือนกับมาสก์ฟิลด์ที่อ่านแล้ว

ตัวอย่างต่อไปนี้ใช้ UpdateShapePropertiesRequest เพื่อเปลี่ยนการเติมสีของรูปร่างเป็นสีธีม DARK1 และยกเลิกการตั้งค่าโครงร่างของรูปร่าง

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