Drive UI의 '새로 만들기' 버튼과 통합

사용자가 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입니다.

앱은 다음 단계에 따라 이 요청에 응답해야 합니다.

  1. action 필드의 값이 create인지 확인합니다.
  2. userId 값을 사용하여 사용자의 새 세션을 만듭니다. 로그인한 사용자에 대한 자세한 내용은 사용자 및 새로운 이벤트를 참고하세요.
  3. files.create 메서드를 사용하여 파일 리소스를 만듭니다. 요청에 folderId가 설정된 경우 parents 필드를 folderId 값으로 설정합니다.
  4. 요청에 folderResourceKey가 설정된 경우 X-Goog-Drive-Resource-Keys 요청 헤더를 설정합니다. 리소스 키에 관한 자세한 내용은 리소스 키를 사용하여 링크 공유 파일에 액세스를 참고하세요.

state 매개변수는 URL로 인코딩되므로 앱에서 이스케이프 문자를 처리하고 JSON으로 파싱해야 합니다.

사용자 및 새 이벤트

Drive 앱은 모든 '만들기' 이벤트를 잠재적인 로그인으로 처리해야 합니다. 일부 사용자에게는 여러 계정이 있을 수 있으므로 state 매개변수의 사용자 ID가 현재 세션과 일치하지 않을 수 있습니다. state 매개변수의 사용자 ID가 현재 세션과 일치하지 않으면 앱의 현재 세션을 종료하고 요청된 사용자로 로그인합니다.