Google Slides API를 사용하여 슬라이드를 만들고 이동하고 삭제할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate
메서드를 사용하는 일반적인 슬라이드 작업을 보여줍니다.
이 예에서는 다음 변수를 사용합니다.
- PRESENTATION_ID - 프레젠테이션 ID를 제공하는 위치를 나타냅니다. 이 ID의 값은 프레젠테이션 URL에서 찾을 수 있습니다.
- PAGE_ID 및 PAGE_ID2: 페이지 객체 ID를 제공하는 위치를 나타냅니다. 이 값은 URL에서 가져오거나 API 읽기 요청을 사용하여 가져올 수 있습니다.
이 예는 언어 중립을 위해 HTTP 요청으로 제공됩니다. Google API 클라이언트 라이브러리를 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법은 슬라이드 만들기 및 도형 및 텍스트 추가 가이드를 참고하세요.
슬라이드 복사
다음 presentations.batchUpdate
코드 샘플은 DuplicateObjectRequest
메서드를 사용하여 슬라이드를 복사하고 프레젠테이션에서 원본 뒤에 삽입하는 방법을 보여줍니다.
원본 슬라이드는 PAGE_ID로 지정됩니다.
이 요청을 사용하면 페이지 요소 ID의 일부 또는 전체를 사본에 포함해야 하는지 지정할 수 있습니다 (일부 제한사항 적용). 이 예에서 원본 슬라이드에는 슬라이드 사본 (COPY_PAGE_ID로 지정)의 새 테이블 (COPY_TABLE_ELEMENT_ID로 지정)에 매핑된 표 요소 (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
사용)로 삽입하는 방법을 보여줍니다.
새 슬라이드는 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
코드 샘플은 TITLE_AND_TWO_COLUMNS
의 PredefinedLayout
로 CreateSlideRequest
메서드로 슬라이드를 만드는 방법을 보여줍니다.
슬라이드의 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" } } ] }
썸네일 생성
프레젠테이션에서 특정 페이지의 최신 버전 썸네일을 생성할 수 있습니다. presentations.pages.getThumbnail
메서드를 호출하면 됩니다. 이 메서드는 페이지의 썸네일 이미지를 콘텐츠 URL로 반환합니다. 이미지 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" }