트리거를 사용하면 특정 이벤트,
문서를 열 때처럼 말이죠. 단순 트리거는
onOpen(e)
함수와 같이 Apps Script에 내장된 예약된 함수의 기능은 다음과 같습니다.
사용자가 Google Docs, Sheets, Slides 또는 Forms 파일을 열 때 실행됩니다.
설치 가능한 트리거는 추가 기능을 제공합니다.
단순한 트리거보다 기능이 더 효과적이지만 사용하기 전에 활성화해야 합니다. 둘 다
트리거되는 경우, Apps Script는 트리거된 함수에
정보가 포함된 이벤트 객체
이벤트가 발생한 맥락 정보를 보여줍니다.
시작하기
간단한 트리거를 사용하려면 다음 중 하나를 사용하는 함수를 만들면 됩니다. 예약된 함수 이름:
onOpen(e)
는 사용자가 스프레드시트, 문서, 프레젠테이션 또는 양식을 만들 수 있습니다.onInstall(e)
는 사용자가 편집자 부가기능 Google Docs, Sheets, Slides 또는 FormsonEdit(e)
는 사용자가 스프레드시트의 값을 변경하면 실행됩니다.onSelectionChange(e)
는 사용자가 스프레드시트에서 선택사항을 변경하면 실행됩니다.doGet(e)
는 사용자가 웹 앱을 방문할 때 실행됩니다. 프로그램이 웹 앱에 HTTPGET
요청을 보내는 경우doPost(e)
는 프로그램이 웹 앱에 HTTPPOST
요청을 보낼 때 실행됩니다.
위 함수 이름의 e
매개변수는
이벤트 객체를
함수를 사용하세요. 객체에는
사용할 수 있지만 이는 선택사항입니다.
제한사항
간단한 트리거는 사용자에게 다음을 요청하지 않고도 자동으로 실행되기 때문입니다. 여러 가지 제한사항이 적용됩니다.
- 스크립트는 Google Sheets, Slides, Docs, Forms 파일 또는 다음 중 하나를 확장하는 부가기능 지원할 수 있습니다
- 파일이 읽기 전용 (보기 또는 댓글 작성) 모드로 열린 경우에는 실행되지 않습니다.
- 스크립트 실행 및 API 요청으로 인해 트리거가 실행되지 않습니다. 예를 들어
Range.setValue()
호출 를 입력해도 스프레드시트의onEdit
트리거가 실행되지 않습니다. - 또한 액세스가 필요한 서비스에 승인이 필요하지 않습니다. 예를 들어 단순한 트리거는 이메일을 보낼 수 없습니다. Gmail 서비스에 승인이 필요하지만 단순한 트리거는 단어로 된 구문을 언어 서비스 - 익명.
- 바인딩된 파일을 수정할 수 있지만 다른 파일에는 액세스할 수 없습니다. 승인이 필요하기 때문입니다.
- 이러한 관리자는 현재 사용자의 신원을 확인할 수도 있고 확인하지 못할 수도 있습니다. GKE에 따라 복잡한 보안 제한의 집합.
- 30초 이상 실행할 수 없습니다.
- 특정 상황에서는
편집자 부가기능은
onOpen(e)
을 실행합니다. 및onEdit(e)
개의 간단한 트리거가 몇 가지 추가적인 복잡성이 있습니다. 자세한 내용은 부가기능 승인 수명 주기 가이드를 참고하세요. - 단순 트리거에는 Apps Script 트리거가 적용됨 할당량 한도를 관리할 수 있습니다.
이러한 제한사항은 doGet(e)
또는 doPost(e)
에는 적용되지 않습니다.
onOpen(e)
onOpen(e)
트리거는 사용자가 스프레드시트를 열면 자동으로 실행됩니다.
문서, 프레젠테이션 또는 양식을 제출해서는 안 됩니다. (
양식에 응답할 때 트리거가 실행되지 않고
수정합니다.) onOpen(e)
는 일반적으로 맞춤
메뉴 항목을 Google Sheets, Slides, Docs 또는
Forms를 탭합니다.
onInstall(e)
onInstall(e)
트리거는 사용자가 앱을 설치할 때 자동으로 실행됩니다.
편집자 부가기능
Google Docs, Sheets, Slides 또는 Forms 사용자가 트리거가 실행되기 전에
Google 게시자 콘솔에서 부가기능을
Google Workspace Marketplace
있습니다. 참고:
onInstall(e)
님이 할 수 있는 작업에 몇 가지 제한사항이 있습니다. 자세히 알아보세요.
승인입니다.
onInstall(e)
의 가장 일반적인 용도는 onOpen(e)
를 호출하여
맞춤 메뉴를 제공합니다. 부가기능이 설치되면 파일이 이미 열려 있으므로
따라서 파일을 다시 열지 않는 한 onOpen(e)
는 자체적으로 실행되지 않습니다.
onEdit(e)
onEdit(e)
트리거는 사용자가 다음 값을 변경하면 자동으로 실행됩니다.
셀이라고 합니다. 대부분의 onEdit(e)
트리거는
이벤트 객체를 호출하여 적절하게 응답합니다.
예를 들어 아래의 onEdit(e)
함수는
마지막으로 수정한 시간을 기록합니다.
onSelectionChange(e)
onSelectionChange(e)
트리거는 사용자가
스프레드시트입니다. 이 트리거를 활성화하려면
트리거가 추가되고 스프레드시트가 열릴 때마다 스프레드시트로 돌아갑니다.
선택 영역이 단시간 내에 여러 셀 사이를 이동하는 경우, 일부 셀이 선택되면
변경 이벤트는 지연 시간을 줄이기 위해 건너뛸 수 있습니다. 예를 들어 한 번에 여러 개의
변경은 2초 이내에 이루어지며, 첫 번째와 마지막 변경사항만
선택이 변경되면 onSelectionChange(e)
트리거가 활성화됩니다.
아래 예에서
빈 셀을 선택하면 onSelectionChange(e)
함수가 셀의
빨간색으로 변경합니다.
doGet(e)
및 doPost(e)
doGet(e)
트리거는 사용자가
웹 앱 또는 프로그램에서 HTTP GET
요청을 전송
웹 앱에 연결할 수 있습니다 doPost(e)
프로그램이 HTTP POST
요청을
있습니다. 이러한 트리거는
웹 앱, HTML 서비스,
및 콘텐츠 서비스. doGet(e)
및
doPost(e)
에는 위에 나열된 제한사항이 적용되지 않습니다.
사용 가능한 트리거 유형
단순 트리거에 대한 제한사항으로 인해 요구사항을 충족하지 못하는 경우 설치 가능한 트리거를 가 대신 작동할 수 있습니다. 아래 표에는 사용할 수 있습니다. 예: Google Sheets, Slides, Forms, Docs는 모두 간단한 열기 트리거를 지원하지만 Sheets, Docs, Forms만 지원합니다. 실행할 수 있습니다
이벤트 | 단순 트리거 | 설치 가능한 트리거 |
---|---|---|
열기 |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
수정 |
![]()
|
![]() |
선택 항목 변경 |
![]()
|
|
설치 |
![]() ![]() ![]() ![]()
|
|
변경 |
![]() |
|
양식 제출 |
![]() ![]() |
|
시간 기반 (시계) |
![]() ![]() ![]() ![]() ![]() |
|
가져오기 |
![]()
|
|
게시물 |
![]()
|
* 사용자가 응답하기가 아니라 편집자가 양식을 열어 수정할 때 응답해야 합니다.