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 사용)로 삽입하는 방법을 보여줍니다.
새 슬라이드는 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"
}
}
]
}썸네일 생성
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"
}