이 문서에는 Google Drive API 관련 승인 및 인증 정보가 포함되어 있습니다. 이 문서를 읽기 전에 인증 및 승인 알아보기에서 Google Workspace의 일반 인증 및 승인 정보를 읽어보세요.
승인을 위해 OAuth 2.0 구성
앱을 승인하려면 Google Drive API에서 Google Cloud 콘솔과 앱이라는 두 위치에 OAuth 범위를 정의해야 합니다.
Google Cloud 콘솔에서 앱에 필요한 범위를 OAuth 동의 화면 구성에 선언해야 합니다. 이는 앱이 요청할 수 있는 가장 높은 수준의 권한입니다. 이는 Google에 대한 공식 요청으로, 선언된 범위는 동의 화면에서 사용자에게 표시됩니다. 이를 통해 사용자는 앱이 액세스를 요청하는 데이터와 작업을 정확히 파악할 수 있습니다.
OAuth 동의 화면 구성 및 범위 선택을 통해 사용자 및 앱 검토자에게 표시되는 정보를 정의하고 나중에 게시할 수 있도록 앱을 등록합니다.
앱에서 API를 시작할 때 해당 세션에 필요한 특정 범위를 명시적으로 요청해야 합니다. Google Cloud 콘솔은 앱이 요청할 수 있는 최고 수준의 권한을 정의하지만 코드는 특정 사용자의 실제 권한을 결정합니다. 이렇게 하면 앱이 특정 작업에 필요한 권한만 요청할 수 있습니다.
앱 코드 내에서 한 번에 하나 이상의 OAuth 범위를 배열로 선언할 수 있습니다.
다음 코드 샘플은 여러 OAuth 범위를 선언하는 방법을 보여줍니다.
자바
List<String> SCOPES = Arrays.asList(
DriveScopes.DRIVE_FILE,
DriveScopes.DRIVE_METADATA_READONLY
);
Python
SCOPES = [
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive.metadata.readonly",
]
Node.js
const SCOPES = [
'https://www.googleapis.com/auth/drive.file',
'https://www.googleapis.com/auth/drive.metadata.readonly'
];
전체 코드 샘플에서 범위가 선언되고 사용되는 방식을 확인하려면 빠른 시작을 참고하세요.
Drive API 범위
앱에 부여된 액세스 수준을 정의하려면 승인 범위를 식별하고 선언해야 합니다. 승인 범위는 Google Workspace 앱 이름, 액세스하는 데이터 종류, 액세스 수준을 포함하는 OAuth 2.0 URI 문자열입니다. 범위는 사용자의 Google 계정 데이터를 비롯한 Google Workspace 데이터와 상호작용하기 위한 앱의 요청입니다.
앱이 설치되면 사용자에게 앱에서 사용하는 범위를 확인하라는 메시지가 표시됩니다. 일반적으로 가능한 한 가장 좁은 범위를 선택하고 앱에 필요하지 않은 범위는 요청하지 않아야 합니다. 사용자는 제한적이고 명확하게 설명된 범위에 더 쉽게 액세스 권한을 부여합니다.
가능하면 파일별 액세스 권한을 부여하고 앱에 필요한 특정 기능에 대한 액세스를 제한하는 민감하지 않은 범위를 사용하세요.
민감하지 않은 범위
대부분의 사용 사례에는 다음 Drive API 범위가 권장됩니다.
| 범위 코드 | 설명 |
|---|---|
https://www.googleapis.com/auth/drive.appdata |
Google Drive에서 앱의 자체 구성 데이터를 확인하고 관리합니다. |
https://www.googleapis.com/auth/drive.install |
앱이 '연결 프로그램' 또는 '새로 만들기' 메뉴에 옵션으로 표시되도록 허용합니다. |
https://www.googleapis.com/auth/drive.file |
Google Picker API 또는 앱의 파일 선택기를 사용하는 동안 앱으로 열거나 사용자가 앱과 공유하는 새 Drive 파일을 만들거나 기존 파일을 수정합니다. |
민감한 범위
| 범위 코드 | 설명 |
|---|---|
https://www.googleapis.com/auth/drive.apps.readonly |
Drive에 액세스할 수 있는 권한이 부여된 앱을 확인합니다. |
제한된 범위
| 범위 코드 | 설명 |
|---|---|
https://www.googleapis.com/auth/drive |
모든 Drive 파일을 보고 관리합니다. |
https://www.googleapis.com/auth/drive.readonly |
모든 Drive 파일을 보고 다운로드합니다. |
https://www.googleapis.com/auth/drive.activity |
Drive에 있는 파일의 활동 기록을 보고 추가합니다. |
https://www.googleapis.com/auth/drive.activity.readonly |
Drive에 있는 파일의 활동 기록을 확인합니다. |
https://www.googleapis.com/auth/drive.meet.readonly |
Google Meet에서 생성 또는 수정한 Drive 파일을 확인합니다. |
https://www.googleapis.com/auth/drive.metadata |
Drive에 있는 파일의 메타데이터를 보고 관리합니다. |
https://www.googleapis.com/auth/drive.metadata.readonly |
Drive에서 파일의 메타데이터를 볼 수 있습니다. |
https://www.googleapis.com/auth/drive.scripts |
Google Apps Script 스크립트의 동작을 수정합니다. |
위 표의 범위는 다음 정의에 따라 민감도를 나타냅니다.
민감하지 않음: 이러한 범위는 가장 작은 승인 범위를 제공하며 기본 OAuth 앱 인증만 필요합니다. 자세한 내용은 인증 요구사항을 참고하세요.
민감함: 이러한 범위는 사용자가 앱에 승인한 특정 Google 사용자 데이터에 대한 액세스를 제공합니다. 추가 OAuth 앱 확인이 필요합니다. 자세한 내용은 민감한 범위 및 제한된 범위 요구사항을 참고하세요.
제한됨: 이러한 범위는 Google 사용자 데이터에 대한 광범위한 액세스를 제공하며 제한된 범위 OAuth 앱 인증이 필요합니다. 자세한 내용은 Google API 서비스 사용자 데이터 정책 및 특정 API 범위의 추가 요구사항을 참고하세요. Google Drive 서비스 약관도 참고하세요.
제한된 범위 데이터를 서버에 저장하거나 전송하는 경우 보안 평가를 거쳐야 합니다.
앱에 다른 Google API에 대한 액세스 권한이 필요한 경우 해당 범위도 추가할 수 있습니다. Google API 범위에 대한 자세한 내용은 OAuth 2.0을 사용하여 Google API에 액세스를 참고하세요.
특정 OAuth 2.0 범위에 대한 자세한 내용은 Google API의 OAuth 2.0 범위를 참고하세요.
제한된 범위의 자격 요건
특정 애플리케이션 유형만 Google Drive의 제한된 범위를 사용할 수 있습니다. 자격 요건을 충족하려면 앱이 다음 카테고리 중 하나에 속해야 합니다.
백업 및 동기화: 사용자의 Drive 파일을 로컬로 동기화하거나 자동으로 백업하는 플랫폼별 앱 및 웹 앱입니다.
생산성 및 교육: 드라이브 파일, 메타데이터 또는 권한과의 상호작용이 포함될 수 있는 기본 사용자 인터페이스가 있는 앱 이러한 앱에는 작업 관리, 메모 작성, 워크그룹 커뮤니케이션, 클래스룸 공동작업 앱이 포함됩니다.
보고 및 보안: 파일이 공유되거나 액세스되는 방식에 관한 사용자 또는 고객 통계를 제공하는 앱
제한된 범위를 계속 사용하려면 제한된 범위 확인을 위해 앱을 준비해야 합니다.
제한된 범위에서 기존 앱 마이그레이션
Drive 앱에서 제한된 범위를 사용하는 경우 민감하지 않은 Drive API 범위로 이전하는 것이 좋습니다. drive.file와 같은 민감하지 않은 범위를 사용하면 앱에 필요한 특정 기능에 대한 파일별 액세스 권한이 부여됩니다.
많은 앱이 변경 없이 파일별 액세스로 전환할 수 있습니다.
자체 파일 선택기를 사용하는 경우 다양한 범위를 완전히 지원하는 Google Picker API로 전환하는 것이 좋습니다.
Drive 파일 범위의 이점
Google Picker API와 함께 drive.file OAuth 범위를 사용하면 앱의 사용자 환경과 안전성이 모두 최적화됩니다.
drive.file OAuth 범위를 사용하면 사용자가 앱과 공유할 파일을 선택할 수 있습니다. 이를 통해 사용자는 파일에 대한 앱의 액세스가 제한되고 더 안전하다는 확신을 가질 수 있습니다. 반대로 모든 Drive 파일에 대한 광범위한 액세스를 요구하면 사용자가 앱과 상호작용하지 않을 수 있습니다.
drive.file 범위를 사용해야 하는 몇 가지 이유는 다음과 같습니다.
유용성:
drive.file범위는 모든 Drive API REST 리소스와 호환되므로 더 광범위한 OAuth 범위를 사용하는 것과 동일한 방식으로 사용할 수 있습니다.기능: Google Picker API는 Drive UI와 유사한 인터페이스를 제공합니다. 여기에는 Drive 파일의 미리보기와 썸네일을 보여주는 여러 뷰와 사용자가 기본 앱을 벗어나지 않도록 인라인 모달 창이 포함됩니다.
편의성: 앱은 Google 선택 도구 파일에 필터를 사용할 때 특정 Drive 파일 유형 (예: Google Docs, Sheets, 사진)에 필터를 적용할 수 있습니다.
간단한 확인:
drive.file는 민감하지 않으므로 확인 절차가 간소화됩니다.
갱신 토큰을 안전하게 저장
Drive API를 사용하여 비공개 데이터에 액세스하려면 앱이 해당 API에 대한 액세스 권한을 부여하는 액세스 토큰을 획득해야 합니다. 단일 액세스 토큰은 요청한 범위에 따라 여러 API에 다양한 수준의 액세스 권한을 부여할 수 있습니다.
액세스 토큰은 수명이 짧으므로 Drive API에 장기적으로 액세스하려면 갱신 토큰을 사용해야 합니다. 갱신 토큰을 사용하면 앱이 새 액세스 토큰을 요청할 수 있습니다.
갱신 토큰을 안전한 장기 저장소에 저장하고 유효한 동안 계속 사용합니다.
자세한 내용은 OAuth 2.0을 사용하여 Google API에 액세스하기를 참고하세요.
관련 주제
- Google Workspace의 인증 및 승인 개요는 인증 및 승인에 대해 알아보기를 참고하세요.
- Google Cloud의 인증 및 권한 부여 개요는 인증 개요를 참고하세요.
- 서비스 계정에 대해 자세히 알아보려면 서비스 계정을 참고하세요.
- 문제 해결에 도움이 필요하면 오류 해결을 참고하세요.