사용자가 파일을 만들거나 열 때 Google Drive에 앱을 표시하려면 먼저 Drive 사용자 인터페이스 (UI) 통합을 설정해야 합니다. Google Workspace Marketplace에 앱을 등록하려면 구성도 필요합니다.
Drive API 사용 설정
Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.
Google Drive UI와의 통합을 시작하려면 Drive API를 사용 설정해야 합니다. 이를 통해 API 및 UI 통합 기능에 액세스할 수 있습니다.
Google Cloud 콘솔에서 Google Drive API를 사용 설정합니다.
Drive UI 통합 설정
- Google API 콘솔에서 메뉴 > API 및 서비스 > 사용 설정된 API 및 서비스로 이동합니다.
- API 및 서비스 대시보드 하단에서 Google Drive API를 클릭합니다. Google Drive API 구성 페이지가 표시됩니다.
- Drive UI 통합 탭을 선택합니다.
- (선택사항) 애플리케이션 이름 필드에 이름을 입력합니다. 애플리케이션 이름은 Drive 설정의 앱 관리 탭에 사용자에게 표시됩니다.
- (선택사항) 간단한 설명 필드에 한 줄의 간단한 설명을 입력합니다. 간단한 설명은 Drive 설정의 앱 관리 탭에 사용자에게 표시됩니다.
- (선택사항) 상세 설명 입력란에 전체 설명을 입력합니다.
애플리케이션 아이콘을 하나 이상 업로드하여 사용자의 연결된 Drive 앱 목록과 '연결 프로그램' 컨텍스트 메뉴에 표시합니다. 아이콘은 배경이 투명한 PNG 형식이어야 합니다. 아이콘이 Drive에 표시되는 데 최대 24시간이 걸릴 수 있습니다.
Drive UI의 '연결 프로그램' 메뉴 항목을 사용하려면 URL 열기 입력란에 앱의 URL을 입력합니다. 이 URL은 '연결 프로그램' 컨텍스트 메뉴에서 사용됩니다.
- 이 URL에는 정규화된 도메인 이름이 포함되어야 합니다.
localhost
은 작동하지 않습니다. - 이 URL은 애플리케이션의 의도한 사용자가 액세스할 수 있어야 합니다. 공개 출시용 하나, 일부 사용자에게 제한된 출시용 하나 등 여러 애플리케이션 버전이 있는 경우 각 버전은 고유한 URL을 사용해야 합니다. 그러면 버전별로 다른 앱 구성을 만들 수 있습니다.
- Google Workspace Marketplace에 앱을 등록하려면 먼저 이 URL의 소유권을 확인해야 합니다.
- 기본적으로
state
쿼리 매개변수가 이 URL에 추가되어 Drive UI에서 앱으로 데이터를 전달합니다.state
매개변수의 콘텐츠에 관한 자세한 내용은state
매개변수를 참고하세요.
- 이 URL에는 정규화된 도메인 이름이 포함되어야 합니다.
(선택사항) 기본 MIME 유형 및 기본 파일 확장자 입력란에 기본 MIME 유형과 파일 확장자를 입력합니다. 기본 MIME 유형 및 파일 확장자는 앱이 열리도록 고유하게 빌드된 파일을 나타냅니다. 예를 들어 앱에서 이미지를 레이어링하고 편집하기 위한 내장 형식을 열 수 있습니다. 표준 미디어 유형만 포함하고 오타와 맞춤법 오류가 없는지 확인하세요. 앱이 바로가기 또는 서드 파티 바로가기 파일만 여는 경우 MIME 유형을 비워 둘 수 있습니다.
(선택사항) 보조 MIME 유형 및 보조 파일 확장자 필드에 보조 MIME 유형과 파일 확장자를 입력합니다. 보조 MIME 유형 및 파일 확장자는 앱에서 열 수 있는 파일을 나타내지만 앱에만 국한되지는 않습니다. 예를 들어 앱이 PNG 및 JPG 이미지를 여는 이미지 편집 앱일 수 있습니다. 표준 미디어 유형만 포함하고 오타가 없어야 합니다. 앱이 바로가기 또는 서드 파티 바로가기 파일만 여는 경우 MIME 유형을 비워 두면 됩니다.
Drive UI의 '새로 만들기' 버튼을 사용하고 사용자가 앱으로 파일을 만들도록 하려면 파일 만들기 체크박스를 선택합니다. 새 URL 및 선택사항인 문서 이름 입력란이 표시됩니다.
- 이 URL은 정규화된 도메인 이름을 포함해야 합니다.
localhost
는 작동하지 않습니다. - Google Workspace Marketplace에 앱을 등록하려면 먼저 이 URL의 소유권을 확인해야 합니다.
- 기본적으로
state
쿼리 매개변수가 이 URL에 추가되어 Drive UI의 데이터를 앱으로 전달합니다.state
매개변수의 콘텐츠에 관한 자세한 내용은state
매개변수를 참고하세요.
- 이 URL은 정규화된 도메인 이름을 포함해야 합니다.
새 URL 입력란에 URL을 입력합니다. 이 URL은 '새로 만들기' 버튼에서 사용자를 애플리케이션으로 리디렉션하는 데 사용됩니다.
(선택사항) 앱에서 Google Workspace 지원 파일을 열도록 하려면 Importing(가져오기) 체크박스를 선택합니다.
(선택사항) 앱에서 공유 드라이브의 파일을 관리해야 하는 경우 공유 드라이브 지원 체크박스를 선택합니다. 앱에서 공유 드라이브를 지원하는 방법에 관한 자세한 내용은 공유 드라이브 지원 구현을 참고하세요.
제출을 클릭합니다.
drive.install
범위 요청
앱이 '연결 프로그램' 또는 '새로 만들기' 메뉴에 옵션으로 표시되도록 하려면 Drive UI와 통합할 https://www.googleapis.com/auth/drive.install
범위를 요청합니다. 이 범위를 요청하면 사용자에게 다음과 유사한 대화상자가 표시됩니다.
Drive 앱에 요청할 수 있는 범위 및 요청 방법에 관한 자세한 내용은 API별 승인 및 인증 정보를 참고하세요.
state
매개변수
기본적으로 state
매개변수는 Drive UI에서 앱으로 데이터를 전달하기 위해 열기 URL과 새 URL 모두에 추가됩니다. 이 매개변수에는 템플릿 변수와 앱에 대한 요청에 관한 데이터가 포함된 JSON 인코딩 문자열이 포함됩니다. 포함된 변수는 사용되는 URL 유형 (열기 URL 또는 새 URL)에 따라 다릅니다.
템플릿 변수 | 설명 | URL 애플리케이션 |
---|---|---|
{ids} |
열려 있는 파일 ID의 쉼표로 구분된 목록입니다. | URL 열기 |
{exportIds} |
내보내는 파일 ID의 쉼표로 구분된 목록입니다 (기본 제공 Google 문서를 열 때만 사용됨). | URL 열기 |
{resourceKeys} |
각 리소스 키에 매핑된 파일 ID의 JSON 사전입니다. | URL 열기 |
{folderId} |
상위 폴더의 ID입니다. | 새 URL |
{folderResourceKey} |
상위 폴더의 리소스 키입니다. | 새 URL |
{userId} |
사용자를 식별하는 프로필 ID입니다. | URL 열기 및 새 URL |
{action} |
실행 중인 작업입니다. 값은 열기 URL을 사용하는 경우 open 이고 새 URL을 사용하는 경우 create 입니다.
|
URL 열기 및 새 URL |
state
매개변수는 URL로 인코딩되므로 앱에서 이스케이프 문자를 처리하고 JSON으로 파싱해야 합니다. 앱은 state
매개변수에서 create
값을 감지하여 파일 생성 요청을 확인할 수 있습니다.
새 URL의 JSON 상태 정보 예
새 URL의 state
정보는 다음과 같습니다.
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
JSON 형식의 열려 있는 URL의 상태 정보 예
열기 URL의 state
정보는 다음과 같습니다.
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
ID와 리소스 키는 파일 메타데이터를 가져오고 파일 콘텐츠를 다운로드하는 데 사용됩니다. 앱에 파일 ID와 액세스 토큰이 있으면 files.get
메서드에 설명된 대로 권한을 확인하고, 파일 메타데이터를 가져오고, 파일 콘텐츠를 다운로드할 수 있습니다.
관련 주제
설치된 앱은 Drive UI에서 실행된 작업을 만들고, 관리하고, 열 수 있어야 합니다. 자세한 내용은 Drive UI의 '새로 만들기' 버튼과 통합 또는 Drive UI의 '다음으로 열기' 컨텍스트 메뉴와 통합을 참고하세요.