Folders
이 앱은 Google Apps Script로 작성되었으며 웹 앱으로 배포되었습니다.
앱에서 드라이브 서비스와 스프레드시트 서비스를 사용합니다.
folders = DriveApp.continueFileIterator(continuationToken);
사용자가 입력 상자에 Google 드라이브 폴더 URL을 붙여넣고 제출하면 폴더에 있는 자식 폴더의 정보를 스프레드시트에 기록합니다.
폴더명, URL, 생성시간, 최종 수정 시간, 소유자, 부모 폴더 URL, Description, Permission, Access를 볼 수 있습니다.
데이터 접근 권한 인증
앱을 실행하면 데이터에 접근할 수 있는 권한을 요청합니다.
이 과정에서 앱 개발자 및 액세스 권한이 필요한 데이터 종류를 안내합니다.
참고: OAuth Client Verification
developers.google.com/apps-script/guides/client-verification
현재 웹 앱 URL
다음 링크를 클릭하면 앱이 실행됩니다.
https://script.google.com/macros/s/AKfycbxiu9DvXstZbjf4oZF-hasykghr0TrMq2pGiC9-9RQYvsv9XXM/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 사용자가 제출한 Google 드라이브 폴더에 있는 자식 폴더를 조회하기 위해서 Drive Service( https://developers.google.com/apps-script/reference/drive/ )를 사용합니다.
이를 위해서 https://www.googleapis.com/auth/drive 권한이 필요합니다.
App 사용자가 제출한 작업을 실행하다 중단된 작업을 계속하기 위해서 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 권한이 필요합니다.
Test folder
https://drive.google.com/drive/folders/0B_MA3GXgQ1ulZzVxWnE2RHhvX2M
위의 Test folder URL을 앱에 붙여 넣고 Submit 버튼을 클릭했을 때 폴더에 있는 자식 폴더를 스프레드시트에 기록합니다.
G Folder Site Sheet
docs.google.com/spreadsheets/d/1Hifjnjwbf2x9NdSYqRAbwYjPh34hd9juRnOvXHR-_WA/edit?usp=sharing