두 수준의 하위 폴더로 작업 할 수 있도록 Google 드라이브 폴더 구조를 설정했습니다. 예 :Google 드라이브/스프레드 시트 - 하위 폴더에서 파일이 수정 될 때 이메일 알림
홈페이지 폴더
- 지역 1
--- 제외 된 지역
- 지역 2
--- 제외 된 지역은
나는 이메일 통지마다 a를 필요 파일은 다른 사용자가 최신 데이터를 갖도록 수정됩니다. 대부분 온라인으로 작동하는 스크립트를 찾았지만 하위 폴더 내에서이 스크립트가 수행하지 않는 수정 사항을 확인할 수 있어야합니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다. Amanda
function GoogleDriveModifiedFiles(){
// Folder ID "XXXXXXXxxXXXwwerr0RSQ2ZlZms" of the folder to monitor for changes
var folderID = '"' + "0Bwz931NfDj3HUnhTVXBuc1lqMTg" + '"';
// Email Configuration
var emailFromName ="Work Google Drive (Do Not Reply)";
var emailSubject = "Work Google Drive content has been modified";
var emailBody = "<br>You are receiving this email because a folder/file shared with you on Google Drive has been modified, click on the link to view new content<br>"
var emailFooter = "Any questions please contact [email protected]";
var folderSearch = folderID + " " + "in parents";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var email = sheet.getRange("E1").getValue();
var timezone = ss.getSpreadsheetTimeZone();
var today = new Date();
var oneDayAgo = new Date(today.getTime() - 1 * 60 * 1000);
var startTime = oneDayAgo.toISOString();
var search = '(trashed = true or trashed = false) and '+ folderSearch +' and (modifiedDate > "' + startTime + '")';
var files = DriveApp.searchFiles(search);
var row = "", count=0;
while(files.hasNext()) {
var file = files.next();
var fileName = file.getName();
var fileURL = file.getUrl();
var lastUpdated = Utilities.formatDate(file.getLastUpdated(), timezone, "dd-MM-yyyy HH:mm");
var dateCreated = Utilities.formatDate(file.getDateCreated(), timezone, "dd-MM-yyyy HH:mm")
row += "<li>" + lastUpdated + " <a href='" + fileURL + "'>" + fileName + "</a></li>";
sheet.appendRow([dateCreated, lastUpdated, fileName, fileURL]);
count++;
}
if (row !== "") {
row = "<p>" + count + " file(s) changed:</p><ol>" + row + "</ol>";
row += emailBody+"<br>" + "<br><small> "+emailFooter+" </a>.</small>";
MailApp.sendEmail(email, emailSubject, "", {name: emailFromName, htmlBody: row});
}
}