Google Apps - Google Apps Script
둘러보기로 가기
검색하러 가기
Google Apps중 JavaScript와 같이 사용할 수 있는 Google Apps Script를 정리 합니다.
목차
- 1 Google Apps Script 개요
- 2 Google Apps Script 사용 위치
- 3 Google Apps Script Service
- 3.1 Base Services
- 3.2 Calendar Services
- 3.3 Contacts Services
- 3.4 DocsList Services
- 3.5 Finance Services
- 3.6 Jdbc Services
- 3.7 Language Services
- 3.8 Mail Services
- 3.9 Maps Services
- 3.10 Properties Services
- 3.11 Sites Services
- 3.12 Soap Services
- 3.13 Spreadsheet Services
- 3.14 Ui Services
- 3.15 UrlFetch Services
- 3.16 Utilities Services
- 3.17 Xml Services
- 4 참고 문헌
Google Apps Script 개요
Base Services |
|
Mail Services Contacts Services |
|
Calendar Services |
|
DocsList Services Spreadsheet Services |
|
Sites Services |
|
Properties Services |
|
Ui Services |
|
UrlFetch Services Utilities Services |
|
Soap Services Xml Services |
|
Jdbc Services |
|
Language Service |
|
Maps Services |
|
Finance Services |
|
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]; var name = e.values[1]; var age = e.values[2]; var submitter = e.namedValues["Username"]; 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=" + files[i].getId()
- "https://spreadsheets.google.com/ccc?key=" + files[i].getId()
- "https://docs.google.com/present/view?id=" + files[i].getId()
- "https://docs.google.com/fileview?id=" + files[i].getId()
var files = DocsList.find(searchTerm); files[i].getName(); files[i].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]; 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