Folder


Google 드라이브 API v2를 사용해서 만든 웹앱입니다.

developers.google.com/drive/api/v2/about-sdk


The metadata for a file.

https://developers.google.com/drive/api/v2/reference/files


App 화면에 Google 드라이브 폴더 주소를 입력하고 제출하면 하위 폴더와 파일의 속성을 읽어서 목록을 만듭니다.

속성: title, mimeType, url, created Date, modified Date, size, owner, user Permission, parent IDs


App 화면에 my를 입력하면 내 드라이브에 있는 하위 폴더와 파일 목록을 만듭니다.


Web app URL

https://script.google.com/macros/s/AKfycbyPXZ8O5ajbwmjg75MOJ0_KrrcMSMGDseP1zAjB9UKTjNyRtUJL/exec

스크립트에 필요한 OAuth 범위 4개:

https://www.googleapis.com/auth/drive

https://www.googleapis.com/auth/script.scriptapp

https://www.googleapis.com/auth/spreadsheets

https://www.googleapis.com/auth/userinfo.email

App 사용자가 제출한 폴더의 자식 폴더 목록을 얻기 위해서 Drive Service( https://developers.google.com/apps-script/reference/drive/ )와 Advanced Drive Service( https://developers.google.com/apps-script/advanced/drive )를 사용합니다.

이 때 https://www.googleapis.com/auth/drive 권한이 필요합니다.


폴더 목록을 만드는 중에 스크립트 시간 제약으로 작업이 중단됩니다.

중단된 작업을 계속하기 위해서 Trigger를 사용합니다. 이를 위해서 https://www.googleapis.com/auth/script.scriptapp 권한이 필요합니다.


App 사용자가 제출한 폴더의 자식 폴더 목록을 스프레드시트에 기록하기 위해서 https://www.googleapis.com/auth/spreadsheets 권한이 필요합니다.


App 사용자의 이메일을 화면에 표시 하기 위해서 getEffectiveUser( https://developers.google.com/apps-script/reference/base/session#getEffectiveUser() )를 사용합니다.

이를 위해서 https://www.googleapis.com/auth/userinfo.email 권한이 필요합니다.

로그 스프레드시트


로그 스프레드시트는 앱 화면에서 Log Spreadsheet 링크를 클릭하면 볼 수 있습니다.

앱 작업 이력을 볼 수 있습니다.


앱 사용자가 폴더가 아닌 URL을 제출하면 파일 속성을 읽어서 로그 스프레드시트에 기록합니다.

앱 사용자가 폴더 URL을 제출하면 폴더 스프레드시트를 만듭니다.

폴더 스프레드시트


테스트를 위해서 앱의 입력 상자에 G Folder Site의 URL을 입력하고 Submit 버튼을 클릭했습니다.

https://drive.google.com/drive/folders/0B_MA3GXgQ1ulZzVxWnE2RHhvX2M


시트에 기록하는 것이 완료되면 D1 셀이 Completed로 바뀝니다.

만들어진 폴더 스프레드시트입니다.

오류로 작업이 중단되었다면 앱 화면의 입력 상자에 resume을 입력하세요.

개발 이력

참고


Folder list app

이 앱은 드라이브 서비스를 사용해서 만들었습니다.

developers.google.com/apps-script/reference/drive/


www.eojji.kr/folders