Skip to content

Instantly share code, notes, and snippets.

View eojji's full-sized avatar

Huysep Kim eojji

View GitHub Profile
@eojji
eojji / onListFilesClick.gs
Created July 10, 2018 04:40
Main page, Custom Properties - App Maker, https://cafe.naver.com/eojji/332
/**
* https://developers.google.com/appmaker/tutorials/call-scripts/
* @param {widget} widget - Button widget.
* @param {event}
*/
function onListFilesClick(widget, event) {
var widgets = widget.parent.descendants;
var from = widgets.TextBoxFromFolder.value;
var to = widgets.TextBoxToFolder.value;
@eojji
eojji / driveListFilesAppMakerClient.gs
Created July 9, 2018 06:58
drive ListFiles AppMaker. drive 05 - Google App Maker. https://cafe.naver.com/eojji/331
/**
* https://developers.google.com/appmaker/tutorials/call-scripts/
* @param {widget} widget - Button widget.
* @param {event}
*/
function onListFilesClick(widget, event) {
var widgets = widget.parent.descendants;
var from = widgets.TextBoxFromFolder.value;
var to = widgets.TextBoxToFolder.value;
@eojji
eojji / pacProcessForm.gs
Created July 3, 2018 04:47
Pick and Copy Sheet, Query Exact: /folders. G folder copy https://cafe.naver.com/eojji/320
function pacProcessForm_(url, pickAndCopyFolder) {
var appMessage = {};
appMessage.message = 'Pick and Copy data';
var thisName = 'PaC Process Form';
appMessage.title = thisName;
appMessage.url = url;
var id;
var rtn = url.match(/[-\w]{25,}/);
@eojji
eojji / driveInsertByEmail.gs
Created June 27, 2018 07:05
driveInsertByEmail.gs Request Team Drive - 3 https://m.cafe.naver.com/eojji/313
function drivePermissionsInsertByEmail_(email, id) {
// https://developers.google.com/drive/v2/reference/permissions
var value = email;
var type = 'user';
var role = 'organizer';
var resource = {
'value': value,
'type': type,
'role': role
};
@eojji
eojji / getGroupRoleByUserEmail.gs
Created June 27, 2018 02:05
getGroupRoleByUserEmail. Request Team Drive - 2 https://m.cafe.naver.com/eojji/312
function getGroupRoleByUserEmail_(email) {
var gfolderCopyGroupEmail = PropertiesService.getScriptProperties().getProperty('gfolderCopyGroupEmail');
try {
var group = GroupsApp.getGroupByEmail(gfolderCopyGroupEmail);
return group.getRole(email);
} catch(e) {
console.warn('Error %s, %s, GroupsApp.group.getRole()', e.name, e.message);
}
}
@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) {
@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);
}
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();
// 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;
}
@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 = {