앱스 스크립트 사용법 (9) 구글 드라이브 폴더 내 파일리스트 추출

이번에는 앱스 스크립트 사용법 (3) 구글 드라이브에 접근하기 를 확장해서 구글 드라이브 폴더내에 있는 파일 리스트를 만들어주는 시트를 만들어 보겠습니다.

개요

  1. 파일 리스트를 만들고 싶은 폴더에 스프레드시트를 만든다.
  2. 앱스 스크립트로 스프레드시트가 있는 폴더의 파일 리스트 정보를 가져온다
  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 앱스 스크립트 활용 예시 모음

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중