프레젠테이션 작업

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

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

프레젠테이션 만들기

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

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

다음은 프레젠테이션을 만들기 위한 요청 프로토콜입니다.

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."
      }
    }
  ]
}