Google Slides API ช่วยให้คุณเพิ่มและแก้ไของค์ประกอบในหน้างานนำเสนอได้ ตัวอย่างในหน้านี้แสดงวิธีดำเนินการอ่านทั่วไปโดยใช้เมธอด presentations.batchUpdate
ตัวอย่างเหล่านี้ใช้ตัวแปรต่อไปนี้
- PRESENTATION_ID - ระบุตำแหน่งที่คุณให้รหัสงานนำเสนอ คุณดูค่าสำหรับรหัสนี้ได้จาก URL ของงานนำเสนอ
- PAGE_ID - ระบุตำแหน่งที่คุณระบุรหัสออบเจ็กต์หน้าเว็บ คุณดึงค่าสำหรับค่านี้จาก URL หรือโดยใช้คำขออ่าน API ก็ได้
- PAGE_ELEMENT_ID - ระบุตำแหน่งที่คุณระบุรหัสออบเจ็กต์องค์ประกอบของหน้า คุณสามารถระบุรหัสนี้สำหรับองค์ประกอบที่สร้างขึ้น (โดยมีข้อจำกัดบางอย่าง) หรืออนุญาตให้ Slides API สร้างรหัสดังกล่าวโดยอัตโนมัติ คุณจะดึงข้อมูลรหัสองค์ประกอบได้ผ่านคำขออ่าน API
ตัวอย่างเหล่านี้จะแสดงเป็นคำขอ HTTP ให้ใช้ภาษาเป็นกลาง หากต้องการดูวิธีใช้การอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API โปรดดูเพิ่มรูปร่างและข้อความ
เพิ่มกล่องข้อความในสไลด์
ตัวอย่างโค้ด
presentations.batchUpdate
ต่อไปนี้จะแสดงวิธีใช้
CreateShapeRequest
วิธีเพิ่มกล่องข้อความใหม่ (ที่มีสตริง "กล่องข้อความที่ฉันเพิ่ม") ใน
สไลด์ที่ระบุโดย PAGE_ID มีการระบุคำขอ 2 รายการในเนื้อหาคำขอ โดยคำขอหนึ่งเพื่อสร้างรูปร่างกล่องข้อความ (ระบุขนาดและตำแหน่งที่กำหนด) และคำขอที่สองสำหรับแทรกข้อความ
คำขอแรกระบุรหัสออบเจ็กต์ที่จะใช้สำหรับกล่องข้อความ ซึ่งช่วยให้คำขอที่ 2 ใช้ได้ในการเรียก API เดียวกัน ซึ่งช่วยลดค่าใช้จ่าย
ต่อไปนี้เป็นโปรโตคอลคำขอเพื่อเพิ่มกล่องข้อความในสไลด์
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
เพิ่มรูปภาพลงในสไลด์
ตัวอย่างโค้ด
presentations.batchUpdate
ต่อไปนี้จะแสดงวิธีใช้
CreateImageRequest
เพื่อเพิ่มรูปภาพในสไลด์ที่ PAGE_ID ระบุไว้ API จะเรียกรูปภาพโดยใช้ IMAGE_URL คำขอนี้จะปรับสัดส่วนและจัดตำแหน่งรูปภาพในสไลด์ด้วย
โปรโตคอลคำขอเพิ่มรูปภาพลงในสไลด์มีดังนี้
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
ลบหน้าหรือองค์ประกอบของหน้า
ตัวอย่างโค้ด
presentations.batchUpdate
ต่อไปนี้จะแสดงวิธีใช้
DeleteObjectRequest
ในการลบองค์ประกอบของหน้าที่ระบุโดย PAGE_ELEMENT_ID
และสไลด์ที่ระบุโดย PAGE_ID โดยใช้คำขอ 2 รายการแยกกัน
โปรโตคอลคำขอลบองค์ประกอบหน้าเว็บหรือองค์ประกอบหน้ามีดังนี้
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
แก้ไขข้อความในรูปร่างที่ระบุ
ตัวอย่างโค้ด presentations.batchUpdate
ต่อไปนี้จะแสดงวิธีใช้เมธอด DeleteTextRequest
เพื่อแทนที่ข้อความบางส่วนที่แสดงในรูปร่างที่ระบุโดยPAGE_ELEMENT_ID หากต้องการทำเช่นนี้ ให้ลบข้อความโดยใช้ startIndex
แบบเลข 0 แล้วจึงแทรกข้อความใหม่ในตำแหน่งนั้น ในตัวอย่างนี้ สตริงข้อความต้นฉบับ "ข้อความรูปร่างของฉัน: ????" จะถูกแทนที่ด้วย "ข้อความรูปร่างของฉัน: สี่เหลี่ยมคางหมู"
คำขอนี้จะมีผลกับข้อความในรูปร่างที่ระบุเท่านั้น หากต้องการแทนที่ข้อความทุกที่ภายในงานนำเสนอ ให้ใช้เมธอด ReplaceAllTextRequest
โปรโตคอลคำขอเพื่อแก้ไขข้อความในรูปร่างที่ระบุมีดังนี้
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
แทนที่แท็กรูปร่างด้วยรูปภาพ
แท็กคือกล่องข้อความหรือรูปร่างที่มีชื่อสตริงไม่ซ้ำกัน เช่น "ชื่อเจ้าของบัญชี"
ตัวอย่างโค้ด
presentations.batchUpdate
ต่อไปนี้จะแสดงวิธีใช้
CreateImageRequest
เพื่อแทนที่แท็กรูปร่าง 1 อินสแตนซ์ด้วยรูปภาพ รักษาตำแหน่งเดิมไว้ และปรับขนาดให้พอดีกับขนาดของแท็ก ขณะที่รักษาอัตราส่วนของรูปภาพ
นอกจากนี้ยังใช้แทนที่รูปภาพหนึ่งด้วยอีกรูปหนึ่งได้ด้วย โดยคำขอประกอบไปด้วยการเพิ่มรูปภาพใหม่แล้วลบแท็ก
เมธอด CreateImageRequest
จะแทนที่รูปร่างที่ระบุเท่านั้น หากต้องการแทนที่รูปร่างแท็กในทุกตำแหน่งภายในงานนำเสนอ ให้ใช้เมธอด ReplaceAllShapesWithImageRequest
แท็กรูปร่างมีพร็อพเพอร์ตี้ PageElement
ต่อไปนี้ (ซึ่งพบได้โดยใช้คำขอ presentations.pages.get
)
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
รูปร่างอยู่ในสไลด์ที่ระบุโดย PAGE_ID หากต้องการระบุรูปภาพที่แทนที่รูปร่าง API จะดึงรูปภาพโดยใช้ IMAGE_URL หากต้องการรักษาอัตราส่วนของรูปภาพไว้โดยจำกัดขนาดของแท็ก เมธอด CreateImageRequest
จะตั้งค่าทั้งขนาดรูปภาพเป็นผลคูณของขนาดและมาตราส่วนแท็ก และตัวคูณมาตราส่วนรูปภาพเป็น 1
ดูข้อมูลเพิ่มเติมได้ที่รักษาอัตราส่วน
ต่อไปนี้คือโปรโตคอลคำขอให้แทนที่แท็กรูปร่างด้วยรูปภาพ
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }