มาสก์ช่องเป็นวิธีสำหรับการเรียก API ในการแสดงฟิลด์ที่คำขอ ส่งคืนหรืออัปเดต การใช้ FieldMask ทำให้ API หลีกเลี่ยงการทำงานที่ไม่จำเป็นและปรับปรุงประสิทธิภาพได้ ฟิลด์มาสก์ สำหรับทั้งวิธีการอ่านและอัปเดตใน Google สไลด์ API
อ่านด้วยฟิลด์มาสก์
งานนำเสนออาจมีขนาดใหญ่ ส่วนใหญ่แล้วคุณ
ไม่จำเป็นต้องใช้ทุกส่วนของ
Presentation
ที่ส่งคืนโดยคำขออ่าน คุณสามารถจำกัดสิ่งที่แสดงผลใน
การตอบกลับของ Slides API โดยใช้พารามิเตอร์ของ URL fields
เพื่อประสิทธิภาพสูงสุด
ด้านประสิทธิภาพ
แสดงเฉพาะช่องที่จำเป็น
ในการตอบกลับ
รูปแบบของพารามิเตอร์ช่องจะเหมือนกับ การเข้ารหัส JSON ของ FieldMask เราขออธิบายสั้นๆ ว่าช่องต่างๆ หลายช่องมีการคั่นด้วยคอมมาและช่องย่อย คั่นด้วยจุด คุณระบุชื่อช่องได้ใน camelCase หรือ separated_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"
}
}
]
}