서론
조직에서는 프로젝트 문서, 보고서, 현장 사진, 계약서 등 다양한 파일을 폴더 단위로 관리합니다. 하지만 파일이 많아질수록 누가 언제 어떤 파일을 올렸는지 확인하기 어려워지고, 중복 저장이나 최신 버전 혼동 문제가 발생합니다. 특히 공유 폴더에서는 참여자별로 파일 관리 규칙이 다르기 때문에 체계적 정리가 필요합니다. 이때 구글 드라이브의 파일 메타데이터를 구글 시트와 연결하면, 실시간으로 파일 목록을 확인할 수 있고, 검색·필터·정렬을 통해 업무 효율을 높일 수 있습니다. 본 글에서는 Apps Script를 활용해 특정 폴더의 파일 정보를 자동으로 불러와 시트와 동기화하는 방법을 소개합니다.
본론
먼저, 동기화 대상 폴더의 ID를 확인해야 합니다. 구글 드라이브에서 해당 폴더를 열면 URL에 folders/폴더ID
형태로 표시됩니다. 이 폴더 ID를 통해 스크립트에서 접근할 수 있습니다. 다음으로 구글 시트에서 '확장 프로그램 → 앱스 스크립트'를 열어 코드를 작성합니다.
예시 코드는 다음과 같습니다.
function syncFolderFiles() {
var folder = DriveApp.getFolderById("폴더ID");
var files = folder.getFiles();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
sheet.appendRow(["파일명","소유자","최종수정일","URL"]);
while(files.hasNext()) {
var file = files.next();
sheet.appendRow([
file.getName(),
file.getOwner().getEmail(),
file.getLastUpdated(),
file.getUrl()
]);
}
}
이 스크립트는 폴더 내 모든 파일의 이름, 소유자 이메일, 최종 수정일, URL을 시트에 정리합니다. 매번 실행할 때마다 시트 내용을 초기화한 뒤 최신 상태로 갱신되므로, 폴더 내 파일 정보가 항상 업데이트된 상태로 유지됩니다.
실시간 동기화를 위해서는 '트리거' 기능을 활용합니다. Apps Script에서 시간 기반 트리거를 설정하면 매시간, 매일, 또는 일정 간격마다 자동으로 함수가 실행되어 시트가 갱신됩니다. 이를 통해 관리자는 직접 실행하지 않아도 최신 파일 목록을 확인할 수 있습니다.
실무 적용 예시를 살펴보면, 프로젝트별 문서 관리 폴더에서 이 스크립트를 적용하면 보고서와 관련 파일이 자동으로 시트에 기록됩니다. 관리자는 시트에서 바로 링크를 클릭해 파일을 열 수 있고, 정렬 기능을 통해 최신 문서나 특정 작성자의 파일만 빠르게 확인할 수 있습니다. 또한 보안 관리 측면에서도, 누가 어떤 파일을 언제 올렸는지 기록이 남으므로 추적이 용이합니다.
결론
구글 드라이브 폴더와 시트를 연동하여 파일 목록과 메타데이터를 실시간으로 동기화하면, 파일 관리의 효율성과 투명성이 크게 향상됩니다. Apps Script를 이용한 자동화 코드를 한 번만 작성해 두면, 시간 기반 트리거를 통해 항상 최신 상태를 유지할 수 있습니다. 이를 통해 조직은 불필요한 파일 검색과 혼란을 줄이고, 체계적인 자료 관리 환경을 구축할 수 있습니다. 앞으로 파일 관리 효율을 높이고 싶다면, 이번에 소개한 폴더 동기화 방식을 적극 도입해 보시기 바랍니다.