기본
javascript 기반의 언어이긴 하지만 js 함수는 대체로 사용하지 못한다.
구글에서 제공하는 라이브러리를 주로 사용해야한다.
주로 js는 브라우저단에서 실행되지만 gas는 서버단에서 실행되기때문.
ex) alert → Browser.msgBox
msgBox에는 버튼도 추가할 수 있는대
Browser.msgBox(title, text,Browser.Buttons.YES_NO);
title은 생략 가능하다.
YES_NO에는 OK, OK_CANCEL, YES_NO, YES_NO_CANCEL 이 가능하다.
inputBox를 통해 텍스트를 입력받을 수도 있다.
기본적인 형식은 msgBox와 동일하다.
Browser.inputBox(title, text,Browser.Buttons.YES_NO);
title은 생략 가능하다.
OK_CANCEL 을 일반적으로 사용한다.
Logger.log(message)로 로그를 남길 수 있다.
여러가지 간단한 이벤트 핸들러(simple event handler)가 존재하는대,
onOpen(event)
onEdit(event)
onInstall(event)
onFormSubmit(event) 가 존재한다.
유저가 직접 이벤트를 작성하는것도 가능한대
이를 installable event handlers 라고 한다.
function onMyEdit(e) 이런식으로 선헌 후 사용하면 된다.
e는 event 변수다.
프로젝트를 공개한 후, 공개한 url을 통해 접속한 유저에대한 처리는
doGet(e){ ...처리... } 에 정의한다.
spread sheet:
SpreadsheetApp 은 스프레드시트를 제어하기 위한 오브젝트다.
openById 로 원하는 스프레드시트 파일을 열 수 있다.
getSheetByName 로 지정된 파일 안의 시트를 지정할 수 있다.
getRnage 로 지정된 시트의 셀의 범위를 지정할 수 있다.
변수 = 《Range》.getValue();
값을 얻음. 단, 범위일 경우 가장 왼쪽 위의 셀의 값을 가져온다.
《Range》.setValue(value);
값을 입력함. 단, 범위일 경우 모든 셀의 값을 바꾼다.
변수 = 《Range》.getValues();
를 통해 범위 내의 모든 값을 2차원 배열로 받을 수 있다.
변수 = 《Rnage》.getCell(행, 열);
범위지정안에서 상대좌표로 셀을 호출한다.
왼쪽 위 구석에 있는 셀은 1행 1열의 셀이 된다.
변수 = 《Range》.getNumRows();
변수 = 《Range》.getNumColumns();
이 코드들은 각각 지정된 범위의 행수, 열수를 반환한다.
범위의 행, 열의 크기를 알 수 있다.
변수 = 《Range》.getRow();
변수 = 《Range》.getColumn();
각각 지정된 범위의 가장 왼쪽 위의 행, 열을 반환한다.
범위의 시작 셀의 위치를 알 수 있다.
format은 표시형식을 지정한다. 숫자에서 많이 사용한다.
formula는 계산식을 지정한다.
google drive
DriveApp 은 구글 드라이브의 파일시스템을 제어하기 위한 오브젝트다.
getFileById 로 id를 통해 파일을 지정할 수 있다.
getFolderById 로 id를 통해 폴더(디렉토리)를 지정할 수 있다.
createFile(name, content, mime type)으로 파일 생성 가능.
content, mime type은 생략 가능
《File/Folder》.makeCopy();
《File/Folder》.makeCopy(이름);
으로 복사 가능. 이름을 지정하면 지정된 이름으로 복사됨.
《Folder》.addFile(File 오브젝트);
《Folder》.addFolder(Folder 오브젝트);
파일 추가(복사랑 비슷)
《Folder》.removeFile( File 오브젝트 );
《Folder》.removeFolder( Folder 오브젝트 );
삭제
《File/Folder》.setTrashed(bool);
휴지통으로 이동
파일/폴더의 id 값을 못찾겠음.
web
HtmlTemplate 변수 = HtmlService.createHtmlOutputFromFile(html파일명);
템플릿용 html파일 호출
《HtmlTemplate》.dataFromServerTemplate={변수명:변수, ...};
return 《HtmlTemplate》.evaluate();
이 코드로 렌더링 된 html 코드가 출력된다.
return을 바로 해주면 클라이언트 브라우저에 표시되게된다.
《HtmlTemplate》.setTitle(타이틀);
로 브라우저 창 타이틀 지정 가능.
템플릿 html 안에서 <?= ?> 태그 안에 gas코드를 입력하면 그 결과가
문자열상태로 출력된다.
<? ?> 태그 사이에 gas 코드를 추가하게되면
이 코드들이 실행되게 된다.
ex) output.append(추가할 내용);
추가할 내용이 html코드처럼 추가된다.
'개발 및 커리어' 카테고리의 다른 글
주요 라이센스 및 의무사항 (0) | 2018.01.22 |
---|