Skip to content

Instantly share code, notes, and snippets.

View eojji's full-sized avatar

Huysep Kim eojji

View GitHub Profile
function processTeamForm(formObject) {
var name = formObject.name;
var title = formObject.title;
var comment = formObject.comment;
var emailRecipient = PropertiesService.getScriptProperties().getProperty('email');
var url = ScriptApp.getService().getUrl();
var msgBody = 'This email was sent via the gFolderCopy App.\n\n'
+ 'App: \n' + url + '\n\nComment: \n'+ comment
+'\n\nName: '+ name+' Email: '+ Session.getActiveUser().getEmail();
MailApp.sendEmail(emailRecipient, title, msgBody);
function myFunction() {
var url = 'https://docs.google.com/spreadsheets/d/...';
try {
// https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openByUrl(String)
var ss = SpreadsheetApp.openByUrl(url);
var sheet = ss.getSheets()[0];
var numRows = sheet.getLastRow();
var range = sheet.getRange(1, 2, numRows, 1);
var values = range.getValues();
var now = new Date();
@eojji
eojji / is Open Shared File By Prop.gs
Created January 16, 2018 03:43
How do I know a gmail account is a member of Google Groups?
// Can I open shared file in a group?
function isOpenSharedFileByProp_() {
// https://developers.google.com/apps-script/reference/properties/properties-service#getScriptProperties()
var ss, ssIdsharedGfolderCopy;
ssIdsharedGfolderCopy = PropertiesService.getScriptProperties().getProperty('ssIdsharedGfolderCopy');
// Logger.log(ssIdsharedGfolderCopy);
try {
ss = SpreadsheetApp.openById(ssIdsharedGfolderCopy);
return ss ? true: false;
} catch(e) {
// https://m.cafe.naver.com/eojji/302
// unit: msec
function timeCheck(startTime, needTime) {
var nowDate = new Date();
// remain = 6 min - ( now - start )
var remain = 360000 - (nowDate.getTime() - startTime);
if (remain < needTime) {
return false;
} else {
return true;
@eojji
eojji / sheet Append Files.gs
Last active July 9, 2018 04:17
sheet Append Files. Listing folders - 3 https://m.cafe.naver.com/eojji/303
// https://m.cafe.naver.com/eojji/303
function sheetAppendFiles_(parentId, data, sheetFolder, sheetFiles) {
if (!data || data.length < 1) {
return;
}
var folderData = [];
var newDate = new Date();
// title, id
// id2, files, fileSize, start, end, file row, parent
@eojji
eojji / copyFilesBySheet.gs
Last active June 26, 2018 01:01
Copy files by spreadsheet. Listing folders - 5 https://m.cafe.naver.com/eojji/306
/*
* check: 파일 복사 함수 호출의 반환값으로 다음 작업을 결정합니다.
* '1': 계속 진행
* '-1': 프로세스 중단
* '-2': after 트리거 생성
* '-3': hour 트리거 생성
**/
function callFileCopy_(title, id, parentId) {
var copiedState = {
// https://m.cafe.naver.com/eojji/307
function setPageTokenProperty(value) {
PropertiesService.getUserProperties().setProperty('PAGE_TOKEN', value);
}
function getPageTokenProperty() {
var pageTokenProperty = PropertiesService.getUserProperties().getProperty('PAGE_TOKEN');
return pageTokenProperty;
}
function getResponse() {
var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
if (!formResponses || formResponses.length < 1) {
Logger.log('Not found form.getResponses()');
return;
}
var len = formResponses.length;
var response = formResponses[len - 1];
var responseId = response.getId();
@eojji
eojji / trigCpFolderBySheet.gs
Last active June 25, 2018 08:18
Trigger Copy Folder by spreadsheet. Listing folders - 7 https://m.cafe.naver.com/eojji/310
function triggerAfterByName(functionName, time) {
ScriptApp.newTrigger(functionName)
.timeBased().after(time).create();
console.log('%s, %s, Time: %s - trigger AfterByName', Session.getEffectiveUser().getEmail(), functionName, time);
}
function setFolderSSIdProperty(value) {
return PropertiesService.getUserProperties().setProperty('FOLDER_SS_ID', value);
}
@eojji
eojji / JavaScript.html
Created June 26, 2018 06:59
Copy to team drive - review. Listing folders - 8 https://m.cafe.naver.com/eojji/311
<script>
window.addEventListener('load', function() {
// console.log('Page is loaded');
});
// Prevent forms from submitting.
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var i = 0; i < forms.length; i++) {
forms[i].addEventListener('submit', function(event) {