google.script.run
는
서버 측 Apps Script를 호출할 수 있는 HTML 서비스 페이지
함수와 비교합니다. 클라이언트 측에서 Google Docs, Sheets, Forms의 대화상자나 사이드바와 상호작용하기
google.script.host
를 사용합니다. 자세한 내용은
서버 함수와의 통신 가이드
할 수 있습니다.
메서드
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
myFunction(...) (모든 서버 측 함수) |
void |
해당 이름으로 서버 측 Apps Script 기능을 실행합니다. |
withFailureHandler(function) |
google.script.run |
서버 측 함수에서 예외가 발생하면 실행되도록 콜백 함수를 설정합니다. |
withSuccessHandler(function) |
google.script.run |
서버 측 함수가 성공적으로 반환되면 실행되도록 콜백 함수를 설정합니다. |
withUserObject(object) |
google.script.run |
성공 및 실패 핸들러에 두 번째 매개변수로 전달할 객체를 설정합니다. |
자세한 문서
myFunction(...)
(모든 서버 측 함수)
해당 이름으로 서버 측 Apps Script 기능을 실행합니다.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function doSomething() { Logger.log('I was called!'); }
index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> google.script.run.doSomething(); </script> </head> <body> </body> </html>
매개변수
이름 | 유형 | 설명 |
---|---|---|
... | 대부분의 유형은 유효하지만 Date , Function ,
또는 form 외의 DOM 요소 설명 보기 | 법적 매개변수는 자바스크립트임
Number , Boolean , String 또는
null 를 비롯하여 프리미티브로 구성된 JavaScript 객체 및 배열,
객체, 배열 등이 있습니다 페이지 내의 form 요소도 매개변수로 사용할 수 있지만
함수의 유일한 매개변수여야 합니다.
Date , Function , form 옆의 DOM 요소 등
객체나 배열 내의 금지된 유형을 포함하여 금지된 유형입니다. 원형을 생성하는 객체
참조도 실패하고 배열 내의 정의되지 않은 필드는 null 이 됩니다. 참고:
서버에 전달된 객체는 원본의 사본이 됩니다. 서버 함수가
객체의 속성을 변경하는 경우 클라이언트의 속성은 영향을 받지 않습니다. |
리턴
void
: 이 메서드는 비동기식이며 직접 반환되지 않습니다. 하지만
서버 측 함수는
success 핸들러 또한 반환 유형에는
매개변수 유형과 동일한 제한사항을 따릅니다. 단, form
요소가 유효한
반환 유형
withFailureHandler(function)
서버 측 함수에서 예외가 발생하면 실행되도록 콜백 함수를 설정합니다. 이
Error
객체가 함수에 전달되면 첫 번째 인수로
user 객체 (있는 경우)가 두 번째 인수로 전달됩니다. 제외
실패 핸들러를 사용하면 실패가 JavaScript 콘솔에 기록됩니다. 재정의하려면 다음을 호출합니다.
withFailureHandler(null)
를 호출하거나, 아무것도 하지 않는 실패 핸들러를 제공합니다.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { // 'got' instead of 'get' will throw an error. return GmailApp.gotInboxUnreadCount(); }
index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onFailure(error) { var div = document.getElementById('output'); div.innerHTML = "ERROR: " + error.message; } google.script.run.withFailureHandler(onFailure) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
매개변수
이름 | 유형 | 설명 |
---|---|---|
function | Function | 클라이언트 측 콜백 함수를 호출하여
서버 측 함수에서 예외가 발생하면 실행됩니다.
Error
객체가 함수에 전달되면 첫 번째 인수로
사용자 객체 (있는 경우)가 두 번째 인수로 전달됩니다. |
리턴
google.script.run
: 이 '스크립트 실행기' 체이닝용
withSuccessHandler(function)
서버 측 함수가 성공적으로 반환되면 실행되도록 콜백 함수를 설정합니다. 서버의 반환 값이 함수에 첫 번째 인수로 전달되고, user 객체 (있는 경우)가 두 번째 인수로 전달됩니다.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { return GmailApp.getInboxUnreadCount(); }
index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onSuccess(numUnread) { var div = document.getElementById('output'); div.innerHTML = 'You have ' + numUnread + ' unread messages in your Gmail inbox.'; } google.script.run.withSuccessHandler(onSuccess) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
매개변수
이름 | 유형 | 설명 |
---|---|---|
function | Function | 클라이언트 측 콜백 함수를 호출하여 서버 측 함수가 성공적으로 반환되면 실행됩니다. 서버의 반환 값이 함수를 첫 번째 인수로 사용하고 user 객체 (있는 경우) 두 번째 인수로 전달됨 |
리턴
google.script.run
: 이 '스크립트 실행기' 체이닝용
withUserObject(object)
성공 및 실패 핸들러에 두 번째 매개변수로 전달할 객체를 설정합니다. 이 "사용자는
object" )와 혼동하지 마시기 바랍니다.
User
클래스: 콜백을 허용합니다.
함수는 클라이언트가 서버에 접속한 컨텍스트에 응답합니다. 사용자 객체는
서버에 전송되지 않는 경우 매개변수 및 반환에 대한 제한이 적용되지 않습니다.
서버 호출 값을 제공해야 합니다. 하지만 사용자 객체는 객체가 될 수 없습니다.
new
연산자로 구성됩니다.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getEmail() { return Session.getActiveUser().getEmail(); }
index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function updateButton(email, button) { button.value = 'Clicked by ' + email; } </script> </head> <body> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> </body> </html>
매개변수
이름 | 유형 | 설명 |
---|---|---|
object | Object | 두 번째 매개변수로 전달할 객체
성공 및 실패 핸들러에 전달합니다. 사용자 객체는 서버로 전송되지 않으므로
매개변수 및 반환 값에 대한 제한 사항이 적용됨
서버 호출에 따라 달라집니다. 하지만 사용자 객체는 구성된 객체일 수 없습니다.
new 연산자 사용 |
리턴
google.script.run
: 이 '스크립트 실행기' 체이닝용