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 기능을 실행합니다.
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function doSomething() {
Logger.log('I was called!');
}
<!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)
를 호출하거나, 아무것도 하지 않는 실패 핸들러를 제공합니다.
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getUnreadEmails() {
// 'got' instead of 'get' will throw an error.
return GmailApp.gotInboxUnreadCount();
}
<!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 객체 (있는 경우)가 두 번째 인수로 전달됩니다.
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getUnreadEmails() {
return GmailApp.getInboxUnreadCount();
}
<!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
연산자로 구성됩니다.
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getEmail() {
return Session.getActiveUser().getEmail();
}
<!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
: 이 '스크립트 실행기' 체이닝용