- Google Apps Script 개요
- Google Apps Script 사용 위치
- Google Apps Script Service
- Base Services
- Calendar Services
- Contacts Services
- DocsList Services
- Finance Services
- Jdbc Services
- Language Services
- Mail Services
- Maps Services
- Properties Services
- Sites Services
- Soap Services
- Spreadsheet Services
- Ui Services
- UrlFetch Services
- Utilities Services
- Xml Services
- 참고 문헌
Google Apps중 JavaScript와 같이 사용할 수 있는 Google Apps Script를 정리 합니다.
Google Apps Script 개요
Google Apps Script - All Services
{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
|-
|width="25%" align="center" valign="middle" style="background-color:#eee;"|Base Services
|width="75%"|access to user, session and browser information align="center" valign="middle" style="background-color:#eee;" Gmail
Contacts align="center" valign="middle" style="background-color:#eee;" Calendar, Calendar events align="center" valign="middle" style="background-color:#eee;" DocsList, File, Folder
Google Docs - Spreadsheet align="center" valign="middle" style="background-color:#eee;" Google Sites align="center" valign="middle" style="background-color:#eee;" - align="center" valign="middle" style="background-color:#eee;" 사용자와 스크립트에 할당된 property storage align="center" valign="middle" style="background-color:#eee;" User Inteface align="center" valign="middle" style="background-color:#eee;" Fetch resources and communicate with other hosts over the Internet
string encoding, decoding and date formatting align="center" valign="middle" style="background-color:#eee;" Web Services via Soap
XML parsing and navigation capabilities align="center" valign="middle" style="background-color:#eee;" - align="center" valign="middle" style="background-color:#eee;" JDBC 사용
Cloud database 서비스 구축 가능 align="center" valign="middle" style="background-color:#eee;" 번역 align="center" valign="middle" style="background-color:#eee;" Google Maps align="center" valign="middle" style="background-color:#eee;" Google Finance
|}
Google Apps Script 사용 위치
Google Apps Script 실행 방법의 종류
자동 실행 : 페이지, 문서 등이 로딩되면 자동으로 실행
웹서비스 방식 : URL 호출을 통하여 실행
사용자 선택 방식 : 사용자의 행동에 의해 실행
배치 방식 : 주기적으로 반복 실행
강제 실행 방식 : 권한을 가진 사용자가 강제로 실행
Google Docs - Spreadsheet
Tools -> Scripts -> Script editor... : Google apps script 편집창이 표시됨
Insert -> Script... : Script Gallery에서 스크립트 삽입
Tools -> Scripts -> Insert... : Script Gallery에서 스크립트 삽입
Tools -> Scripts -> Manage... -> Run (강제 실행 방식)
스프레드쉬트에서 사용자 정의 함수로서 사용 (자동 실행)
스프레드쉬트 메뉴로 추가하여 사용 (사용자 선택 방식), Script를 사용하여 메뉴 추가
"Google 사이트 도구 - 관리" -> 사이트 콘텐츠 -> 애플리케이션 스크립트 : Google apps script 편집창이 표시됨
페이지 편집 화면에서
삽입 -> 링크 -> 애플리케이션 스크립트 (사용자 선택 방식)
삽입 -> Apps Script Gadget (자동 실행), 매뉴얼에는 표시되어 있으나 실제로는 메뉴가 없음
Google apps script 편집창에서
파일 -> 갤러리에서 스크립트 추가 : Script Gallery에서 스크립트 삽입
실행 (강제 실행 방식)
공유 -> 서비스로 게시... (웹서비스 방식)
User Interface as a Service : Ui Services를 사용하여 화면을 구성하고 이를 Sites 등에 표시할 수 있음
트리거 -> Current script's triggers...
주, 일, 시간, 분 단위로 반복되는 작업 지정 (배치 방식)
Spreadsheet의 On open, On edit, On form submit시 실행 (자동 실행)
보기 -> 로그...
Logger.log("Updating symbol: " + symbol);
Event 방식으로 Google Apps Script 실행
onInstall() : Script Gallery에서 설치될 때
onOpen() : Spreadsheet가 열릴 때
onEdit() : Spreadsheet가 편집 되었을 때
"On form submit" 함수 사례
function onFormSubmit(e) {
var timestamp = e.values[0](0.md);
var name = e.values[1](1.md);
var age = e.values[2](2.md);
var submitter = e.namedValues["Username"]("Username".md);
MailApp.sendEmail("email_username", "form submitted",
name + ", age " + age + " submitted by " + submitter + " on " + timestamp + ". ");
}
Google Apps Script Service
Base Services
Calendar Services
Contacts Services
DocsList Services
File View
"https://docs.google.com/Doc?docid=" + filesi.getId()
"https://spreadsheets.google.com/ccc?key=" + filesi.getId()
"https://docs.google.com/present/view?id=" + filesi.getId()
"https://docs.google.com/fileview?id=" + filesi.getId()
var files = DocsList.find(searchTerm);
files[i](i.md).getName();
files[i](i.md).getType(); //--- document, spreadsheet, presentation
Finance Services
Jdbc Services
Language Services
Mail Services
MailApp.sendEmail(emailAddress, subject, message);
Maps Services
Properties Services
Sites Services
Soap Services
Spreadsheet Services
function example() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0](0.md);
var myValue = Browser.inputBox("Enter a number");
sheet.getRange("A1").setValue("Number entered:");
var b1Range = sheet.getRange("B1");
b1Range.setValue(myValue);
var valueToShow = b1Range.getValue() + 1;
Browser.msgBox("The value you entered plus one is: " + valueToShow);
}
if (typeof inNum != "number") {
return("error: input must be a number");
}
Spreadsheet 메뉴 추가
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [ {name: "Say Hi", functionName: "sayHi"},
{name: "Say Hello", functionName: "sayHello"} ];
ss.addMenu("Tutorial", menuEntries);
}
Ui Services
User Interface as a Service
doGet(e), doPost(e)
Google Web Toolkit (GWT)를 사용하여 화면이 구성됨
function doGet(e) {
var app = UiApp.createApplication();
return app;
}
참고 문헌
Sample
var myapp = UiApp.createApplication().setTitle('Here is the title bar').setHeight(50).setWidth(100);
var mybutton = myapp.createButton('Press Me');
var mypanel = myapp.createVerticalPanel();
mypanel.add(mybutton);
myapp.add(mypanel);
mydoc.show(myapp);
UrlFetch Services
var response = UrlFetchApp.fetch(url, {method:'post', payload:payload, contentType:"application/x-www-form-urlencoded"});
if (response.getResponseCode() == 200) {
return JSON.parse(response.getContentText());
}
Utilities Services
Xml Services
참고 문헌
Google Apps Script 매뉴얼
Google Data JavaScript Client : JavaScript
Google Data Java client : Java