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

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

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

  • PRESENTATION_ID—ระบุตำแหน่งที่คุณระบุ รหัสงานนำเสนอ คุณดูค่าสำหรับรหัสนี้ได้จาก URL ของงานนำเสนอ
  • PAGE_ID—ระบุตำแหน่งที่คุณระบุออบเจ็กต์หน้าเว็บ รหัส คุณสามารถดึงค่าสำหรับพารามิเตอร์นี้จาก URL หรือโดยใช้คำขออ่าน API
  • PAGE_ELEMENT_ID—ระบุตำแหน่งที่คุณระบุรหัสออบเจ็กต์ page element คุณระบุรหัสนี้สำหรับองค์ประกอบที่สร้างขึ้นได้ (มีข้อจำกัดบางอย่าง) หรือจะอนุญาตให้ Slides API สร้างรหัสโดยอัตโนมัติก็ได้ คุณเรียกดูรหัสองค์ประกอบ ได้ผ่านคำขออ่าน API

ตัวอย่างเหล่านี้จะแสดงเป็นคำขอ HTTP เพื่อให้เป็นกลางทางภาษา ดูวิธี ใช้การอัปเดตแบบเป็นชุดในภาษาต่างๆ โดยใช้ไลบรารีไคลเอ็นต์ Google API ได้ที่เพิ่มรูปร่างและข้อความ

เพิ่มกล่องข้อความลงในสไลด์

ตัวอย่างโค้ดต่อไปนี้ presentations.batchUpdate แสดงวิธีใช้เมธอด CreateShapeRequest เพื่อเพิ่มกล่องข้อความใหม่ (ที่มีสตริง "My Added Text Box") ลงใน สไลด์ที่ระบุโดย PAGE_ID มีการระบุคำขอ 2 รายการในเนื้อหาคำขอ ได้แก่ คำขอหนึ่งเพื่อสร้างรูปร่างกล่องข้อความ (ที่มีขนาดและตำแหน่งที่กำหนด) และคำขอที่สองเพื่อแทรกข้อความลงในกล่องข้อความ

คำขอแรกระบุ Object ID ที่จะใช้สำหรับ กล่องข้อความ ซึ่งจะช่วยให้คำขอที่ 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 หากต้องการดำเนินการนี้ ให้ลบข้อความก่อนโดยใช้ดัชนีที่เริ่มต้นด้วย 0 startIndex จากนั้นแทรกข้อความใหม่ในตำแหน่งนั้น ในตัวอย่างนี้ ระบบจะแทนที่สตริงข้อความเดิม "ข้อความรูปร่างของฉัน: ????" ด้วย "ข้อความรูปร่างของฉัน: สี่เหลี่ยมคางหมู"

คำขอนี้จะมีผลกับข้อความในรูปร่างที่ระบุเท่านั้น หากต้องการแทนที่ข้อความทุกที่ ในงานนำเสนอ ให้ใช้วิธี 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
      }
    }
  ]
}