사용자가 Drive UI의 '새로 만들기' 버튼을 클릭하고 Drive UI에서 앱을 선택하면 Drive는 사용자를 Drive UI 통합 구성에 정의된 해당 앱의 새 URL로 리디렉션합니다.
그러면 앱은 state
매개변수 내에 기본 템플릿 변수 집합을 수신합니다. 새 URL의 기본 state
정보는 다음과 같습니다.
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
이 출력에는 다음 값이 포함됩니다.
create
: 실행 중인 작업입니다. 사용자가 Drive UI의 '새로 만들기' 버튼을 클릭하면 값은create
입니다.- FOLDER_ID: 상위 폴더의 ID입니다.
- FOLDER_RESOURCE_KEY: 상위 폴더의 리소스 키입니다.
- USER_ID: 사용자를 고유하게 식별하는 프로필 ID입니다.
앱은 다음 단계에 따라 이 요청에 응답해야 합니다.
action
필드의 값이create
인지 확인합니다.userId
값을 사용하여 사용자의 새 세션을 만듭니다. 로그인한 사용자에 대한 자세한 내용은 사용자 및 새로운 이벤트를 참고하세요.files.create
메서드를 사용하여 파일 리소스를 만듭니다. 요청에folderId
가 설정된 경우parents
필드를folderId
값으로 설정합니다.- 요청에
folderResourceKey
가 설정된 경우X-Goog-Drive-Resource-Keys
요청 헤더를 설정합니다. 리소스 키에 관한 자세한 내용은 리소스 키를 사용하여 링크 공유 파일에 액세스를 참고하세요.
state
매개변수는 URL로 인코딩되므로 앱에서 이스케이프 문자를 처리하고 JSON으로 파싱해야 합니다.
사용자 및 새 이벤트
Drive 앱은 모든 '만들기' 이벤트를 잠재적인 로그인으로 처리해야 합니다. 일부 사용자에게는 여러 계정이 있을 수 있으므로 state
매개변수의 사용자 ID가 현재 세션과 일치하지 않을 수 있습니다. state
매개변수의 사용자 ID가 현재 세션과 일치하지 않으면 앱의 현재 세션을 종료하고 요청된 사용자로 로그인합니다.