이번에는 앱스 스크립트 사용법 (3) 구글 드라이브에 접근하기 를 확장해서 구글 드라이브 폴더내에 있는 파일 리스트를 만들어주는 시트를 만들어 보겠습니다.
개요
- 파일 리스트를 만들고 싶은 폴더에 스프레드시트를 만든다.
- 앱스 스크립트로 스프레드시트가 있는 폴더의 파일 리스트 정보를 가져온다
- 앱스 스크립트로 스프레드시트에 파일 리스트 정보를 출력한다.
★샘플 폴더
https://drive.google.com/drive/folders/14BksBPqnpMthDeRZeEc2xQ7Dz5epwkRj?usp=sharing
Google Apps Script 개발자 사이트에서 참고한 페이지
시트 준비하기
파일 리스트를 만들고 싶은 폴더에 새로운 스프레드시트를 만듭니다.


앱스 스크립트를 작성
도구 > 스크립트 편집기 메뉴를 클릭합니다.

스크립트 편집 화면에 아래 코드를 넣고 저장합니다.
function get_filelist() { var thisFile = DriveApp.getFileById(SpreadsheetApp.getActive().getId()); var folders = thisFile.getParents() var folderId; while (folders.hasNext()) { var folder = folders.next(); folderId = folder.getId(); break; } // get This Folder ID var daforder = DriveApp.getFolderById(folderId); var dafiles = daforder.getFiles(); var sheet = SpreadsheetApp.getActiveSheet(); sheet.clear(); var srow = 1; // Write Header sheet.getRange(srow, 1).setValue("file name"); sheet.getRange(srow, 2).setValue("만들어진 날짜"); sheet.getRange(srow, 3).setValue("마지막으로 수정한 날짜"); sheet.getRange(srow, 4).setValue("소유자"); sheet.getRange(srow, 5).setValue("file type"); sheet.getRange(srow, 6).setValue("Link"); // Set Header color var range = sheet.getRange("A1:F1"); range.setBackground("#f3f3f3"); // Get file names while(dafiles.hasNext()){ var dafile = dafiles.next(); var file_name = dafile.getName(); srow = srow + 1; // Write file info sheet.getRange(srow, 1).setValue(file_name); sheet.getRange(srow, 2).setValue(dafile.getDateCreated()); sheet.getRange(srow, 3).setValue(dafile.getLastUpdated()); sheet.getRange(srow, 4).setValue(dafile.getOwner().getName()); sheet.getRange(srow, 5).setValue(dafile.getMimeType().replace('application/vnd.google-apps.', 'google ')); sheet.getRange(srow, 6).setValue(dafile.getUrl()); } range = sheet.getRange("F:F"); range.setWrapStrategy(SpreadsheetApp.WrapStrategy.CLIP); }
프로젝트 이름은 get_filelist_fromGD 라고 저장합니다.

실행 > 함수 실행 > get_filelist 를 클릭합니다.

처음 실행하실 때, 권한 요청을 해옵니다. 실행을 허용해주세요.
(스크린샷은 생략합니다. 자세한 내용은 앱스 스크립트 사용법 (1) 메일 보내기 > 실행 권한 허용 을 확인해주세요.)
스크립트 실행
스크립트를 허용 후 실행하면 시트에 파일 리스트가 작성된 것을 확인할 수 있습니다.

https://docs.google.com/spreadsheets/d/15VaX3iDnzUfucvqTjU7zF-CJCbWYrZzuVSsWVUIsVmg/edit?usp=sharing
폴더 안에서 찾은 파일마다 파일 이름, 만들어진 날짜, 마지막으로 수정한 날짜, 소유자, file type, Link 정보를 출력합니다. 공개한 샘플 폴더에는 스프레드시트, 프레젠테이션과 같은 구글 드라이브 전용 파일 이외의 일반적인 파일도 리스트로 출력할 수 있는 것을 알 수 있도록 txt 파일, 이미지 파일, 동영상 파일 등의 샘플 파일을 넣어두었습니다.
구글 앱스 스크립트의 다른 활용법을 알고싶으시다면!
» G Suite 사용법 #5 앱스 스크립트 활용 예시 모음
파일 추출 후 검색 조건을 걸고 싶습니다. 예를 들어 본문에 특정단어가 포함되어있다는 조건 같은걸 찾고 잇는데 적용하기가 어려워서요
좋아요좋아요
데이터 > 필터 만들기 기능으로 필터를 만든다음에
조건을 걸고싶은 열의 필터에서
조건별 필터링 > 텍스트에 포함 선택하시고
값에 특정단어 넣으시면 됩니다.
필터 만들기 기능은 아래 포스팅 참고하시기 바랍니다.
구글 스프레드시트 사용법 (8) 데이터 필터링하기
https://smartagent.blog/2018/11/01/spreadsheet08/
좋아요좋아요
혹시 하위폴더까지 검색을 할 방법이 있을까요.. 폴더가 약 1000개나 되다 보니 각 폴더별로 들어가서 할수가 없는 상태입니다 ㅠ
좋아요좋아요