프레젠테이션 작업

Google Slides API를 사용하면 프레젠테이션 파일을 만들고 기존 파일을 관리할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate 메서드를 사용하는 몇 가지 일반적인 페이지 프레젠테이션 작업을 보여줍니다.

이러한 예시는 언어 중립성을 위해 HTTP 요청으로 표시됩니다. Google API 클라이언트 라이브러리를 사용하여 여러 언어로 일괄 업데이트를 구현하는 방법을 알아보려면 다음 가이드를 참고하세요.

프레젠테이션 만들기

다음 presentations.create 코드 샘플은 'My New Presentation'이라는 제목의 빈 프레젠테이션 파일을 만드는 방법을 보여줍니다.

application/vnd.google-apps.presentationMIME 유형으로 지정하여 Google Drive API files.create 메서드를 사용하여 빈 프레젠테이션 파일을 만들 수도 있습니다.

다음은 프레젠테이션을 만드는 요청 프로토콜입니다.

POST https://slides.googleapis.com/v1/presentations
{
  "title": "My New Presentation"
}

기존 프레젠테이션 파일 나열

Slides API는 프레젠테이션 목록을 검색하는 메서드를 제공하지 않지만 Drive API는 제공합니다. 아래에 나와 있는 files.list 메서드는 필드 마스크를 사용하여 Drive에서 파일 ID, 파일 이름, 파일을 여는 링크가 포함된 프레젠테이션 파일 목록을 반환합니다. 또한 요청은 application/vnd.google-apps.presentationMIME 유형으로 지정합니다.

다음은 기존 프레젠테이션 파일을 나열하는 요청 프로토콜입니다.

GET https://www.googleapis.com/drive/v3/files?q="mimeType=application/vnd.google-apps.presentation"&fields=files(id,name,webViewLink)

이 요청에 대한 응답의 구조는 다음과 같습니다.

{
 "files": [
    {
     "id": "abcdefghijklmnopqrstuvwxyz0123456789",
     "name": "Project Vision",
     "webViewLink": "https://docs.google.com/a/google.com/presentation/d/abcdefghijklmnopqrstuvwxyz0123456789/edit?usp=drivesdk"
    },
    {
     "id": "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
     "name": "Untitled Presentation",
     "webViewLink": "https://docs.google.com/a/google.com/presentation/d/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/edit?usp=drivesdk"
    },
    ...
  ]
}

프레젠테이션 전체에서 텍스트 바꾸기

다음 presentations.batchUpdate 코드 샘플은 ReplaceAllTextRequest 메서드를 사용하여 PRESENTATION_ID로 지정된 프레젠테이션 전체에서 텍스트를 대체하는 방법을 보여줍니다. 프레젠테이션 URL에서 프레젠테이션 ID의 값을 확인할 수 있습니다.

'Gizmo Corp.' 문자열의 모든 인스턴스가 'Gadget Inc.' 텍스트로 대체됩니다. 여기에는 텍스트 상자 및 기타 도형의 텍스트, 슬라이드, 마스터 내의 텍스트가 포함됩니다. 이 경우 matchCasetrue로 설정하여 텍스트 대체가 대소문자를 구분합니다.

다음은 프레젠테이션 전체에서 텍스트를 대체하는 요청 프로토콜입니다.

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "replaceAllText": {
          "containsText": {
            "text": "Gizmo Corp.",
            "matchCase": true
          },
          "replaceText": "Gadget Inc."
      }
    }
  ]
}