Google Slides API ให้คุณเพิ่มและแก้ไของค์ประกอบในหน้างานนำเสนอได้ ตัวอย่างในหน้านี้แสดงวิธีดำเนินการอ่านข้อมูลที่พบบ่อยโดยใช้
presentations.batchUpdate
วิธี
ตัวอย่างเหล่านี้ใช้ตัวแปรต่อไปนี้
- PRESENTATION_ID—ระบุตำแหน่งที่คุณระบุ รหัสงานนำเสนอ คุณดูค่าของรหัสนี้ได้จาก URL ของงานนำเสนอ
- PAGE_ID—ระบุตำแหน่งที่คุณระบุรหัส ออบเจ็กต์ของหน้า คุณดึงค่านี้ได้จาก URL หรือโดยใช้คำขออ่าน API
- PAGE_ELEMENT_ID—ระบุตำแหน่งที่คุณระบุรหัสออบเจ็กต์ขององค์ประกอบ หน้า คุณ ระบุรหัสนี้สำหรับองค์ประกอบที่สร้างขึ้น (โดยมี ข้อจำกัด บางอย่าง) หรืออนุญาตให้ Slides API สร้างรหัสโดยอัตโนมัติก็ได้ คุณดึงข้อมูลรหัสองค์ประกอบได้ผ่านคำขออ่าน API
ตัวอย่างเหล่านี้แสดงเป็นคำขอ HTTP เพื่อให้เป็นกลางทางภาษา ดูวิธีใช้งานการอัปเดตเป็นกลุ่มในภาษาต่างๆ โดยใช้ไลบรารีไคลเอ็นต์ Google API ได้ที่ เพิ่มรูปร่างและ ข้อความ
เพิ่มกล่องข้อความลงในสไลด์
ตัวอย่างโค้ดต่อไปนี้
presentations.batchUpdate
แสดงวิธีใช้วิธี
CreateShapeRequest
เพื่อเพิ่มกล่องข้อความใหม่ (ที่มีสตริง "My Added Text Box") ลงในสไลด์
ที่ระบุโดย 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 แล้วแทรกข้อความใหม่ในตำแหน่งนั้น ในตัวอย่างนี้ สตริงข้อความเดิม "My Shape Text: ????" จะถูกแทนที่ด้วย "My Shape Text: Trapezoid"
คำขอนี้จะส่งผลต่อข้อความในรูปร่างที่ระบุเท่านั้น หากต้องการแทนที่ข้อความทุกที่
ภายในงานนำเสนอ ให้ใช้
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
}
}
]
}