슬라이드 작업

Google Slides API를 사용하여 슬라이드를 만들고 이동하고 삭제할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate 메서드를 사용하는 일반적인 슬라이드 작업을 보여줍니다.

이 예에서는 다음 변수를 사용합니다.

  • PRESENTATION_ID: 프레젠테이션 ID를 입력하는 위치를 나타냅니다. 프레젠테이션 URL에서 이 ID 값을 확인할 수 있습니다.
  • PAGE_IDPAGE_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_COLUMNSPredefinedLayout를 사용하도록 설정됩니다. 슬라이드의 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_COLUMNSPredefinedLayout를 사용하여 슬라이드를 만드는 방법을 보여줍니다.

슬라이드의 PAGE_ID로 사용할 문자열을 지정할 수 있습니다(일부 제한사항 있음). placeholderIdMappingsTITLEType를 사용합니다. 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_IDPAGE_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"
      }
    }
  ]
}