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

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

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

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

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

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

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

คำขอแรกจะระบุออบเจ็กต์ รหัสที่จะใช้ กล่องข้อความ ซึ่งจะทำให้คำขอที่ 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
      }
    }
  ]
}