Google Slides API를 사용하면 프레젠테이션 페이지에서 요소를 추가하고 수정할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate
메서드를 사용하여 일반적인 읽기 작업을 실행하는 방법을 보여줍니다.
이 예에서는 다음 변수를 사용합니다.
- PRESENTATION_ID: 프레젠테이션 ID를 입력하는 위치를 나타냅니다. 프레젠테이션 URL에서 이 ID 값을 확인할 수 있습니다.
- PAGE_ID: 페이지 객체 ID를 제공하는 위치를 나타냅니다. 이 값은 URL에서 가져오거나 API 읽기 요청을 사용하여 검색할 수 있습니다.
- PAGE_ELEMENT_ID: 페이지 요소 객체 ID를 제공하는 위치를 나타냅니다. 직접 만든 요소에 이 ID를 지정하거나 (몇 가지 제한사항 포함) Slides API에서 자동으로 ID를 만들도록 할 수 있습니다. 요소 ID는 API 읽기 요청을 통해 가져올 수 있습니다.
이 예는 언어 중립적인 HTTP 요청으로 표시됩니다. Google API 클라이언트 라이브러리를 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법은 도형 및 텍스트 추가를 참고하세요.
슬라이드에 텍스트 상자 추가
다음 presentations.batchUpdate
코드 샘플은 CreateShapeRequest
메서드를 사용하여 새 텍스트 상자('My추가된 텍스트 상자' 문자열 포함)를 PAGE_ID에서 지정한 슬라이드에 추가하는 방법을 보여줍니다. 요청 본문에 두 개의 요청이 지정됩니다. 하나는 지정된 크기와 위치로 텍스트 상자 도형을 만드는 요청이고, 다른 하나는 그 안에 텍스트를 삽입하는 요청입니다.
첫 번째 요청은 텍스트 상자에 사용할 객체 ID를 지정합니다. 이렇게 하면 두 번째 요청에서 이 API를 동일한 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에 지정된 슬라이드를 삭제하는 방법을 보여줍니다.
페이지 또는 페이지 요소를 삭제하는 요청 프로토콜은 다음과 같습니다.
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
를 사용하여 텍스트를 삭제한 다음 그 위치에 새 텍스트를 삽입합니다. 이 예에서는 원래 텍스트 문자열 '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 } } ] }
도형 태그를 이미지로 바꾸기
태그는 고유한 문자열 이름이 있는 텍스트 상자 또는 도형입니다(예: '계정 소유자 이름').
다음 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 } } ] }