Skip to content

Instantly share code, notes, and snippets.

@akimach
Created May 6, 2018 05:11
Show Gist options
  • Save akimach/0bdb961c210ae5731a5b301c35376220 to your computer and use it in GitHub Desktop.
Save akimach/0bdb961c210ae5731a5b301c35376220 to your computer and use it in GitHub Desktop.
function checkWeeklyReport() {
var rootFolder = DriveApp.getFolderById('xxx');
Logger.log(rootFolder.getName());
var sheet = SpreadsheetApp.getActive().getSheetByName('シート1');
sheet.clear();
var editor_dic = {};
Logger.log("===");
var i = 1;
var editors = rootFolder.getEditors();
editors.forEach(function (editor) {
Logger.log(editor.getName());
var cell = sheet.getRange(1, i + 1);
cell.setValue(editor.getName());
editor_dic[editor.getName()] = parseInt(i);
i++;
})
Logger.log("===");
Logger.log(editor_dic);
i = 1;
var monthFolders = rootFolder.getFolders();
while ( monthFolders.hasNext() ) {
var monthFolder = monthFolders.next();
Logger.log(monthFolder.getName());
var weekFolders = monthFolder.getFolders();
while ( weekFolders.hasNext() ) {
var weekFolder = weekFolders.next();
Logger.log("\t" + weekFolder.getName());
//var cell = sheet.getRange(i + 1, 1);
sheet.getRange(i + 1, 1).setValue(weekFolder.getName());
sheet.getRange(i + 1, 2, 1, editors.length).setValue("0");
var weeklyDocs = weekFolder.getFiles();
while ( weeklyDocs.hasNext() ) {
var weeklyDoc = weeklyDocs.next();
Logger.log("\t\t" + weeklyDoc.getName());
var owner = weeklyDoc.getOwner()
Logger.log("\t\t\t" + owner.getName() + "," + weeklyDoc.getLastUpdated());
var editor_id = editor_dic[owner.getName()];
Logger.log("\t\t\t" + editor_id);
if (typeof editor_id === "undefined") {
} else {
sheet.getRange(i + 1, Number(editor_id) + 1).setValue("1");
}
}
i++;
}
}
var postUrl = 'xxx';
var username = 'WeeklyChecker';
var icon = ':robot:';
var message = '<!channel> 週報をチェックしたよー! \n ';
var jsonData = {
"username" : username,
"icon_emoji": icon,
"text" : message
};
var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload
};
UrlFetchApp.fetch(postUrl, options);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment