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

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

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

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