Google Slides API를 사용하면 슬라이드를 만들고, 이동하고, 삭제할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate
메서드를 사용하는 몇 가지 일반적인 슬라이드 작업을 보여줍니다.
이 예시에서는 다음 변수를 사용합니다.
- PRESENTATION_ID: 프레젠테이션 ID를 제공하는 위치를 나타냅니다. 프레젠테이션 URL에서 이 ID의 값을 확인할 수 있습니다.
- PAGE_ID 및 PAGE_ID2: 페이지 객체 ID를 제공하는 위치를 나타냅니다. URL에서 또는 API 읽기 요청을 사용하여 이 값을 검색할 수 있습니다.
이러한 예시는 언어 중립성을 위해 HTTP 요청으로 표시됩니다. Google API 클라이언트 라이브러리를 사용하여 여러 언어로 일괄 업데이트를 구현하는 방법을 알아보려면 슬라이드 만들기 및 도형 및 텍스트 추가 가이드를 참고하세요.
슬라이드 복사
다음 presentations.batchUpdate
코드 샘플은 DuplicateObjectRequest
메서드를 사용하여 슬라이드를 복사하고 프레젠테이션의 원본 뒤에 삽입하는 방법을 보여줍니다.
원본 슬라이드는 PAGE_ID로 지정됩니다.
이 요청을 통해 페이지 요소 ID의 일부 또는 전부가 사본에 포함되어야 하는지 지정할 수 있습니다 (일부 제한사항 있음). 이 예에서 원본 슬라이드에는 테이블 요소 (TABLE_ELEMENT_ID로 지정됨)가 포함되어 있으며, 이 요소는 슬라이드 사본 (COPY_PAGE_ID로 지정됨)의 새 테이블 (COPY_TABLE_ELEMENT_ID로 지정됨)에 매핑됩니다. 사본의 다른 모든 요소에는 임의의 ID가 지정됩니다.
텍스트 상자, 이미지, 표, 기본 도형, 선, 삽입된 동영상을 비롯한 PageElement
복사에 관한 자세한 내용은 샘플 요소 복사 및 수정을 참고하세요.
다음은 슬라이드 복사를 위한 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "duplicateObject": { "objectId": PAGE_ID, "objectIds": { "PAGE_ID": "COPY_PAGE_ID", "TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID" } } } ] }
슬라이드 만들기
다음 presentations.batchUpdate
코드 샘플은 CreateSlideRequest
메서드를 사용하여 슬라이드를 만들고 0 기반 insertionIndex
을 사용하여 프레젠테이션에 4번째 슬라이드로 삽입하는 방법을 보여줍니다.
새 슬라이드는 TITLE_AND_TWO_COLUMNS
의 PredefinedLayout
를 사용하도록 설정됩니다. 일부 제한사항이 있는 슬라이드의 PAGE_ID로 사용할 문자열을 지정하거나 요청에서 필드를 생략하여 API가 PAGE_ID를 생성하도록 허용할 수 있습니다.
다음은 슬라이드를 만드는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": "PAGE_ID", "insertionIndex": 3, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" } } } ] }
슬라이드 만들기 및 자리표시자 수정하기
다음 presentations.batchUpdate
코드 샘플은 CreateSlideRequest
메서드를 사용하여 TITLE_AND_TWO_COLUMNS
의 PredefinedLayout
를 사용하여 슬라이드를 만드는 방법을 보여줍니다.
슬라이드의 PAGE_ID로 사용할 문자열을 지정할 수 있습니다(일부 제한사항 있음).
placeholderIdMappings
는 TITLE
의 Type
를 사용합니다. TITLE_ID는 슬라이드의 자리표시자 도형을 참조하므로 수정할 수 있습니다.
다음은 슬라이드를 만들고 자리표시자를 수정하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": PAGE_ID, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" }, "placeholderIdMappings": [ { "layoutPlaceholder": { "type": "TITLE", "index": 0 }, "objectId": TITLE_ID, }, ], } }, { "insertText": { "objectId": TITLE_ID, "text": "This is my slide title", } }, ] }
슬라이드를 새 위치로 이동
다음 presentations.batchUpdate
코드 샘플은 UpdateSlidesPositionRequest
메서드를 사용하여 지정된 두 슬라이드를 가져와 상대 순서를 유지하면서 프레젠테이션의 시작 부분으로 이동하는 방법을 보여줍니다.
지정된 슬라이드 ID (PAGE_ID 및 PAGE_ID2)는 중복되지 않도록 기존 프레젠테이션 순서로 제공해야 합니다. 0부터 시작하는 insertionIndex
는 이동이 발생하기 전의 순서를 기준으로 슬라이드를 삽입해야 하는 위치를 나타냅니다. 값은 0과 프레젠테이션의 슬라이드 수 사이여야 합니다(양 끝값 포함).
다음은 슬라이드를 새 위치로 이동하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateSlidesPosition": { "slideObjectIds": [ PAGE_ID, PAGE_ID2 ], "insertionIndex": 0 } } ] }
슬라이드 배경 이미지 설정
다음 presentations.batchUpdate
코드 샘플은 UpdatePagePropertiesRequest
메서드를 사용하여 PAGE_ID로 지정된 슬라이드의 배경 이미지를 설정하는 방법을 보여줍니다. API는 IMAGE_URL를 사용하여 이미지를 검색합니다.
필드 마스크는 다른 속성을 보존하기 위해 슬라이드 배경만 변경해야 한다고 지정하는 데 사용됩니다. 필드 마스크를 사용하면 성능도 개선됩니다.
또는 UpdatePagePropertiesRequest
메서드를 사용하여 슬라이드의 배경을 단색으로 설정할 수 있습니다.
다음은 슬라이드 배경 이미지를 설정하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageProperties": { "objectId": PAGE_ID, "pageProperties": { "pageBackgroundFill": { "stretchedPictureFill": { "contentUrl": IMAGE_URL } } }, "fields": "pageBackgroundFill" } } ] }
썸네일 생성
페이지의 썸네일 이미지를 콘텐츠 URL로 반환하는 presentations.pages.getThumbnail
메서드를 호출하여 프레젠테이션에서 특정 페이지의 최신 버전 썸네일을 생성할 수 있습니다. 이미지 URL의 기본 수명은 30분입니다.
ThumbnailProperties
필드를 쿼리 매개변수로 사용하여 반환된 mimeType
및 thumbnailSize
를 지정할 수도 있습니다.
다음은 ThumbnailProperties
세트를 사용하여 페이지의 썸네일을 생성하는 요청 프로토콜입니다.
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{ "width": 800, "height": 450, "contentUrl": "CONTENT_URL" }