การเขียนพื้นฐาน

API ของ Google สไลด์ช่วยให้คุณเพิ่มและแก้ไของค์ประกอบในหน้างานนำเสนอได้ ตัวอย่างในหน้านี้แสดงวิธีดำเนินการอ่านทั่วไปโดยใช้เมธอด presentations.batchUpdate

ตัวอย่างต่อไปนี้ใช้ตัวแปรต่อไปนี้

ตัวอย่างเหล่านี้จะแสดงเป็นคำขอ 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- owner-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
      }
    }
  ]
}