소개

Google Slides API를 사용하면 Google Slides 프레젠테이션을 만들고 수정할 수 있습니다.

앱은 Google Slides API와 통합하여 사용자 및 시스템 제공 데이터로부터 멋진 슬라이드 자료를 자동으로 만들 수 있습니다. 예를 들어 데이터베이스의 고객 세부정보를 사용하고 이를 사전 설계된 템플릿 및 선택한 구성 옵션과 결합하여 수동으로 만드는 데 걸리는 시간의 일부만으로 완성된 프레젠테이션을 만들 수 있습니다.

API 개요

프레젠테이션 컬렉션은 프레젠테이션 내에서 요소를 가져오고 업데이트할 수 있는 메서드를 제공합니다.

프레젠테이션 API를 사용하는 대부분의 작업은 프레젠테이션을 만들고 업데이트하는 것입니다. batchUpdate 메서드를 사용하여 이 작업을 실행합니다. 이 메서드는 다음 작업을 실행할 수 있는 Request 객체의 목록을 사용합니다.

  • 슬라이드 만들기
  • 슬라이드에 도형이나 표와 같은 요소 추가
  • 텍스트 삽입, 변경, 삭제
  • 요소에 변환 적용
  • 슬라이드 순서 변경

자세한 내용은 일괄 업데이트를 참고하세요. API 사용 방법에 관한 간단한 엔드 투 엔드 예시는 시작하기 가이드를 참고하세요.

프레젠테이션의 구조

Slides API의 프레젠테이션은 페이지 요소가 포함된 페이지로 구성됩니다.

프레젠테이션의 ID는 URL에서 파생될 수 있습니다.

https://docs.google.com/presentation/d/presentationId/edit

프레젠테이션 ID는 문자, 숫자, 일부 특수문자를 포함하는 문자열입니다. 다음 정규 표현식을 사용하여 Google Sheets URL에서 프레젠테이션 ID를 추출할 수 있습니다.

/presentation/d/([a-zA-Z0-9-_]+)

Drive API에 익숙하다면 presentationIdFile 리소스의 ID에 해당합니다.

페이지와 페이지 요소는 객체 ID로 식별됩니다.

Pages

Google 슬라이드에는 다음과 같은 종류의 페이지가 있습니다.

석사 슬라이드 마스터는 이 마스터를 사용하는 모든 슬라이드에 표시되는 기본 텍스트 스타일, 배경, 페이지 요소를 정의합니다. 모든 슬라이드에 표시되어야 하는 페이지 요소는 마스터에 추가해야 합니다. 대부분의 프레젠테이션에는 마스터가 하나 있지만 일부에는 여러 개가 있거나 없을 수도 있습니다.
레이아웃 레이아웃은 레이아웃을 사용하는 슬라이드에서 페이지 요소가 기본적으로 정렬되는 방식의 템플릿 역할을 합니다. 각 레이아웃은 하나의 마스터와 연결됩니다.
Slides 이 페이지에는 시청자에게 표시되는 콘텐츠가 포함되어 있습니다. 대부분의 슬라이드는 마스터와 레이아웃을 기반으로 합니다. 슬라이드가 생성될 때 각 슬라이드에 사용할 레이아웃을 지정할 수 있습니다.
참고 이 페이지에는 슬라이드의 발표자 노트가 포함된 도형을 비롯한 프레젠테이션 핸드아웃의 콘텐츠가 포함되어 있습니다. 각 슬라이드에는 하나의 해당 메모 페이지가 있습니다. 발표자 노트 도형의 텍스트만 Slides API로 수정할 수 있습니다.
참고 마스터 메모 마스터는 모든 메모 페이지의 기본 텍스트 스타일과 페이지 요소를 정의합니다. Notes 마스터는 Slides API에서 읽기 전용입니다.

페이지 요소

페이지 요소는 페이지에 배치되는 시각적 구성요소입니다. API는 다음과 같은 여러 종류의 페이지 요소를 노출합니다.

그룹 개별 단위로 처리되는 페이지 요소의 집합입니다. 함께 이동, 크기 조절, 회전할 수 있습니다.
도형 직사각형, 타원, 텍스트 상자와 같은 일반 시각적 객체입니다. 모양에는 텍스트가 포함될 수 있으므로 슬라이드를 만드는 데 가장 많이 사용되는 페이지 요소입니다.
이미지 Slides로 가져온 그래픽
동영상 Slides로 가져온 동영상
시각적 선, 곡선 또는 커넥터입니다.
콘텐츠 그리드입니다.
WordArt 모양과 더 유사하게 작동하는 시각적 텍스트 요소입니다.
SheetsChart Google Sheets에서 슬라이드로 가져온 차트

일괄 업데이트

batchUpdate 메서드를 사용하면 프레젠테이션의 여러 측면을 업데이트할 수 있습니다. 변경사항은 일괄처리로 그룹화되므로 한 요청이 실패하면 다른 (잠재적으로 종속된) 변경사항이 작성되지 않습니다.

batchUpdate 메서드는 하나 이상의 Request 객체를 가져와서 작동하며, 각 객체는 실행할 단일 종류의 요청을 지정합니다. 다양한 종류의 요청이 있습니다. 다음은 요청 유형을 여러 카테고리로 분류한 것입니다.

Slides 작업: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
페이지 요소 작업: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
표 작업: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
차트 작업: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
이미지 및 동영상 작업: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
텍스트 작업: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate 메서드는 각 요청에 대한 Response가 포함된 응답 본문을 반환합니다. 각 응답은 해당 요청과 동일한 색인을 차지합니다. 적용 가능한 응답이 없는 요청의 경우 해당 색인의 응답이 비어 있습니다. 다양한 Create 요청에는 일반적으로 응답이 있으므로 새로 추가된 객체의 ID를 알 수 있습니다.

객체 ID 작업

Slides API의 프레젠테이션은 페이지페이지 요소로 구성됩니다. 이러한 객체에는 프레젠테이션 내에서 고유한 객체 ID 문자열이 포함됩니다.

생성 시 객체 ID 지정

batchUpdate 메서드를 사용하여 페이지 또는 페이지 요소를 만들 때 새 객체의 객체 ID를 선택적으로 지정할 수 있습니다. 이를 통해 동일한 batchUpdate 요청 내에서 객체를 만들고 수정할 수 있으므로 Slides API 호출 수를 최소화하고
할당량 사용량을 줄일 수 있습니다.

대부분의 경우 임의 객체 ID를 생성하는 것이 좋습니다. 예를 들어 Java를 사용하는 경우 java.util.UUID.randomUUID().toString()이 적합합니다.

애플리케이션에서 장기간에 걸쳐 객체를 추적하려는 경우 객체 ID가 변경될 수 있으므로 객체 ID를 사용하지 마세요. 자세한 내용은 다음 섹션을 참고하세요.

객체 ID를 사용하지 않고 객체 추적

Slides API 요청을 하면 객체 ID가 일반적으로 유지됩니다. (예외는 메서드의 참조 문서에 명시되어 있습니다.) Drive API를 사용하여 전체 프레젠테이션을 복사해도 객체 ID가 유지됩니다.

하지만 슬라이드 UI에서 프레젠테이션을 변경한 후 객체 ID가 변경되지 않는다고 가정할 수는 없습니다. 예를 들어 사용자가 슬라이드 UI를 사용하여 페이지 요소를 복사하여 붙여넣은 후 원본을 삭제하면 페이지 요소에 새로운 고유 ID가 부여되고 API를 통해 이전에 제공한 ID가 손실됩니다. 따라서 애플리케이션의 저장소에 객체 ID를 저장하지 않는 것이 좋습니다. 대신 텍스트 콘텐츠나 대체 텍스트로 프레젠테이션에서 객체를 찾아야 합니다.

새로 만든 프레젠테이션은 일반적으로 기본 슬라이드, 마스터, 텍스트 상자에 일관된 ID 세트를 사용합니다. 이러한 ID는 시간이 지남에 따라 변경될 수 있으므로 이 기능을 사용하지 않는 것이 좋습니다. 대신 create() 또는 get() 호출에서 반환된 프레젠테이션 객체를 사용하여 수정하려는 요소를 찾습니다.