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 เพื่อแทรกข้อความ
คำขอแรกระบุรหัสออบเจ็กต์ที่จะใช้สำหรับกล่องข้อความ ซึ่งจะช่วยให้คําขอที่ 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 } } ] }
แทนที่แท็กรูปร่างด้วยรูปภาพ
แท็กคือกล่องข้อความหรือรูปร่างที่มีชื่อสตริงที่ไม่ซ้ำกัน เช่น "account-holder-name"
ตัวอย่างโค้ดต่อไปนี้
presentations.batchUpdate
แสดงวิธีใช้เมธอด CreateImageRequest
เพื่อแทนที่อินสแตนซ์เดียวของแท็กรูปร่างด้วยรูปภาพ โดยรักษาตำแหน่งเดิมและปรับขนาดให้พอดีกับขนาดของแท็ก ขณะเดียวกันก็รักษาสัดส่วนภาพของรูปภาพไว้
คำขอนี้ยังใช้เพื่อแทนที่รูปภาพหนึ่งด้วยอีกรูปภาพหนึ่งได้ด้วย คำขอประกอบด้วยการเพิ่มรูปภาพใหม่แล้วลบแท็ก
เมธอด 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 } } ] }