Google Drive API는 다음 표에 나열된 여러 유형의 다운로드 및 내보내기 작업을 지원합니다.
작업 다운로드 |
|
||||
작업 내보내기 |
|
파일 콘텐츠를 다운로드하거나 내보내기 전에 사용자가 files
리소스의 capabilities.canDownload
필드를 사용하여 파일을 다운로드할 수 있는지 확인합니다.
blob 및 Google Workspace 파일을 비롯하여 여기에서 언급된 파일 유형에 관한 설명은 파일 유형을 참고하세요.
이 가이드의 나머지 부분에서는 이러한 유형의 다운로드 및 내보내기 작업을 실행하는 방법을 자세히 설명합니다.
blob 파일 콘텐츠 다운로드
Drive에 저장된 blob 파일을 다운로드하려면 다운로드할 파일의 ID와 alt=media
URL 매개변수를 사용하여 files.get
메서드를 사용합니다. alt=media
URL 매개변수는 콘텐츠 다운로드가 대체 응답 형식으로 요청되고 있음을 서버에 알립니다.
alt=media
URL 매개변수는 모든 Google REST API에서 사용할 수 있는 시스템 매개변수입니다. Drive API에 클라이언트 라이브러리를 사용하는 경우 이 매개변수를 명시적으로 설정할 필요가 없습니다.
다음 코드 샘플은 files.get
메서드를 사용하여 Drive API 클라이언트 라이브러리로 파일을 다운로드하는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
이 코드 샘플은 기본 HTTP 요청에 alt=media
URL 매개변수를 추가하는 라이브러리 메서드를 사용합니다.
앱에서 시작된 파일 다운로드는 파일 콘텐츠에 대한 읽기 액세스를 허용하는 범위로 승인되어야 합니다. 예를 들어 drive.readonly.metadata
범위를 사용하는 앱은 파일 콘텐츠를 다운로드할 권한이 없습니다.
이 코드 샘플은 사용자가 모든 Drive 파일을 보고 관리할 수 있는 제한된 'drive' 파일 범위를 사용합니다. Drive 범위에 관해 자세히 알아보려면 Google Drive API 범위 선택하기를 참고하세요.
수정 권한이 있는 사용자는 copyRequiresWriterPermission
필드를 false
로 설정하여 읽기 전용 사용자의 다운로드를 제한할 수 있습니다.
악성으로 식별된 파일(예: 유해한 소프트웨어)은 파일 소유자만 다운로드할 수 있습니다.
또한 사용자가 원치 않는 소프트웨어 또는 기타 악성 파일을 다운로드할 위험을 확인했음을 나타내기 위해 get
쿼리 매개변수 acknowledgeAbuse=true
를 포함해야 합니다. 애플리케이션은 이 쿼리 매개변수를 사용하기 전에 사용자에게 대화형으로 경고해야 합니다.
부분 다운로드
부분 다운로드는 파일의 지정된 부분만 다운로드하는 것을 말합니다. Range
헤더와 함께 바이트 범위를 사용하여 다운로드할 파일의 일부를 지정할 수 있습니다. 예를 들면 다음과 같습니다.
Range: bytes=500-999
이전 버전에서 blob 파일 콘텐츠 다운로드
이전 버전에서 blob 파일의 콘텐츠를 다운로드하려면 다운로드할 파일의 ID, 버전의 ID, alt=media
URL 매개변수를 사용하여 revisions.get
메서드를 사용합니다.
alt=media
URL 매개변수는 콘텐츠 다운로드가 대체 응답 형식으로 요청되고 있음을 서버에 알립니다. files.get
와 마찬가지로 revisions.get
메서드는 선택적 쿼리 매개변수 acknowledgeAbuse
및 Range
헤더도 허용합니다. 버전 다운로드에 관한 자세한 내용은 파일 버전 관리를 참고하세요.
요청 프로토콜은 다음과 같습니다.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
브라우저에서 blob 파일 콘텐츠 다운로드
API를 통해서가 아니라 브라우저 내에서 Drive에 저장된 blob 파일의 콘텐츠를 다운로드하려면 files
리소스의 webContentLink
필드를 사용하세요. 사용자가 파일에 대한 다운로드 액세스 권한이 있는 경우 파일 및 콘텐츠를 다운로드할 수 있는 링크가 반환됩니다. 사용자를 이 URL로 리디렉션하거나 클릭 가능한 링크로 제공할 수 있습니다.
장기 실행 작업 중에 blob 파일 콘텐츠 다운로드
장기 실행 작업 중에 blob 파일의 콘텐츠를 다운로드하려면 다운로드할 파일의 ID와 함께 files.download
메서드를 사용합니다. 원하는 경우 버전의 ID를 설정할 수 있습니다. 이 방법으로만 Google Vids 파일을 다운로드할 수 있습니다. 자세한 내용은 장기 실행 작업 관리를 참고하세요.
Google Workspace 문서 콘텐츠 내보내기
Google Workspace 문서 바이트 콘텐츠를 내보내려면 내보낼 파일의 ID와 올바른 MIME 유형을 사용하여 files.export
메서드를 사용합니다. 내보낸 콘텐츠는 10MB로 제한됩니다.
다음 코드 샘플은 files.export
메서드를 사용하여 Drive API 클라이언트 라이브러리를 통해 Google Workspace 문서를 PDF 형식으로 내보내는 방법을 보여줍니다.
자바
Python
Node.js
PHP
.NET
이 코드 샘플은 사용자가 모든 Drive 파일을 보고 관리할 수 있는 제한된 drive
범위를 사용합니다. Drive 범위에 관해 자세히 알아보려면 Google Drive API 범위 선택하기를 참고하세요.
이 코드 샘플은 내보내기 MIME 유형도 application/pdf
로 선언합니다. 각 Google Workspace 문서에 지원되는 모든 내보내기 MIME 유형의 전체 목록은 Google Workspace 문서의 내보내기 MIME 유형을 참고하세요.
브라우저에서 Google Workspace 문서 콘텐츠 내보내기
브라우저 내에서 Google Workspace 문서 콘텐츠를 내보내려면 files
리소스의 exportLinks
필드를 사용하세요. 문서 유형에 따라 사용 가능한 모든 MIME 유형에 대해 파일 및 콘텐츠를 다운로드할 수 있는 링크가 반환됩니다. 사용자를 URL로 리디렉션하거나 클릭 가능한 링크로 제공할 수 있습니다.
브라우저에서 이전 버전의 Google Workspace 문서 콘텐츠 내보내기
브라우저 내에서 이전 버전의 Google Workspace 문서 콘텐츠를 내보내려면 다운로드할 파일의 ID와 버전의 ID를 사용하여 revisions.get
메서드를 사용하여 내보내기 링크를 생성하고 이 링크를 통해 다운로드를 실행합니다. 사용자가 파일에 대한 다운로드 액세스 권한이 있는 경우 파일 및 콘텐츠를 다운로드할 수 있는 링크가 반환됩니다. 사용자를 이 URL로 리디렉션하거나 클릭 가능한 링크로 제공할 수 있습니다.
장기 실행 작업 중에 Google Workspace 문서 콘텐츠 내보내기
장기 실행 작업 중에 Google Workspace 문서 콘텐츠를 내보내려면 다운로드할 파일의 ID와 버전의 ID를 사용하여 files.download
메서드를 사용하세요. 자세한 내용은 장기 실행 작업 관리를 참고하세요.