이벤트 객체

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

간단한 트리거설치 가능한 트리거를 통해 특정 이벤트가 발생할 때 Apps Script가 자동으로 함수를 실행할 수 있습니다. 트리거가 실행되면 Apps Script는 일반적으로 함수에 e라는 이벤트 객체를 인수로 전달합니다. 이벤트 객체에는 트리거를 실행한 컨텍스트에 대한 정보가 포함됩니다. 예를 들어 아래 샘플 코드에서는 이벤트 객체를 사용하여 수정된 셀을 결정하는 Google Sheets 스크립트의 간단한 onEdit(e) 트리거를 보여줍니다.

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
  var range = e.range;
  range.setNote('Last modified: ' + new Date());
}

이 페이지에서는 다양한 유형의 트리거에 대한 이벤트 객체의 필드를 자세히 설명합니다.

Google Sheets 이벤트

다양한 Google Sheets별 트리거를 통해 스크립트가 스프레드시트에서 사용자의 작업에 응답할 수 있습니다.

열기

(단순설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

LIMITED
source

스크립트가 결합된 Google Sheets 파일을 나타내는 Spreadsheet 객체

Spreadsheet
triggerUid

이 이벤트를 생성한 트리거의 ID입니다 (설치 가능한 트리거만 해당).

4034124084959907503
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com

변경

(설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL
changeType

변경 유형 (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT, OTHER)

INSERT_ROW
triggerUid

이 이벤트를 생성한 트리거의 ID입니다.

4034124084959907503
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com

수정

(단순설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

LIMITED
oldValue

수정 전 셀 값입니다(있는 경우). 수정된 범위가 단일 셀인 경우에만 사용할 수 있습니다. 셀에 이전 콘텐츠가 없는 경우 정의되지 않습니다.

1234
range

수정된 셀 또는 셀 범위를 나타내는 Range 객체입니다.

Range
source

스크립트가 결합된 Google Sheets 파일을 나타내는 Spreadsheet 객체

Spreadsheet
triggerUid

이 이벤트를 생성한 트리거의 ID입니다 (설치 가능한 트리거만 해당).

4034124084959907503
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com
value

수정 후 새 셀 값 수정된 범위가 단일 셀인 경우에만 사용할 수 있습니다.

10

양식 제출

(설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL
namedValues

양식 제출의 질문 이름과 값이 포함된 객체입니다.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

수정된 셀 또는 셀 범위를 나타내는 Range 객체입니다.

Range
triggerUid

이 이벤트를 생성한 트리거의 ID입니다.

4034124084959907503
values

스프레드시트에 표시되는 순서와 동일한 값의 배열입니다.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Google Docs 이벤트

트리거를 사용하면 사용자가 문서를 열 때 Google Docs에서 응답할 수 있습니다.

열기

(단순설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

LIMITED
source

스크립트가 바인딩된 Google Docs 파일을 나타내는 Document 객체

Document
triggerUid

이 이벤트를 생성한 트리거의 ID입니다 (설치 가능한 트리거만 해당).

4034124084959907503
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com

Google Slides 이벤트

트리거를 사용하면 사용자가 프레젠테이션을 열 때 Google Slides에서 응답할 수 있습니다.

열기

(단순)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

LIMITED
source

스크립트가 결합된 Google Slides 파일을 나타내는 Presentation 객체

Presentation
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com

Google Forms 이벤트

Google Forms 전용 트리거를 사용하면 사용자가 양식을 수정하거나 응답을 제출할 때 스크립트가 응답할 수 있습니다.

열기

* (단순설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

LIMITED
source

스크립트가 결합된 Google Forms 파일을 나타내는 Form 객체

Form
triggerUid

이 이벤트를 생성한 트리거의 ID입니다 (설치 가능한 트리거만 해당).

4034124084959907503
user

사용 가능한 경우 활성 사용자를 나타내는 User 객체입니다(복잡한 보안 제한사항 집합에 따라).

amin@example.com

* 이 이벤트는 사용자가 응답할 양식을 열 때가 아니라 편집자가 양식을 수정하기 위해 열 때 발생합니다.

양식 제출

(설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL
response

양식 전체에 대한 사용자의 응답을 나타내는 FormResponse 객체

FormResponse
source

스크립트가 결합된 Google Forms 파일을 나타내는 Form 객체

Form
triggerUid

이 이벤트를 생성한 트리거의 ID입니다.

4034124084959907503

Google Calendar 일정

캘린더 트리거는 사용자의 캘린더 일정이 업데이트 (생성, 수정 또는 삭제)될 때 발생합니다.

이러한 트리거는 어떤 이벤트가 변경되었는지 또는 어떻게 변경되었는지 알려주지 않습니다. 대신 코드가 캘린더의 최근 변경사항을 선택하려면 증분 동기화 작업을 해야 함을 나타냅니다. 이 절차의 전체 설명은 Calendar API리소스 동기화 가이드를 참조하세요.

Apps Script에서 Calendar와 동기화하려면 다음 단계를 따르세요.

  1. 스크립트 프로젝트에 Calendar 고급 서비스를 사용 설정합니다. 기본 제공되는 캘린더 서비스는 이 워크플로를 생성하기에 충분하지 않습니다.
  2. 동기화할 캘린더를 결정합니다. 이러한 캘린더마다 Calendar 고급 서비스의 Events.list() 메서드를 사용하여 초기 동기화 작업을 실행합니다.
  3. 초기 동기화의 결과는 해당 캘린더의 nextSyncToken를 반환합니다. 나중에 사용할 수 있도록 이 토큰을 저장하세요.
  4. Apps Script EventUpdated 트리거가 실행되어 캘린더 일정 변경을 나타내는 경우 저장된 nextSyncToken를 사용하여 영향을 받는 캘린더의 증분 동기화를 실행합니다. 이는 본질적으로 또 다른 Events.list() 요청이지만 nextSyncToken를 제공하면 마지막 동기화 이후 변경된 이벤트로만 응답이 제한됩니다.
  5. 동기화 응답을 조사하여 업데이트된 이벤트를 확인하고 코드가 적절하게 응답하도록 합니다. 예를 들어 변경사항을 로깅하거나, 스프레드시트를 업데이트하거나, 이메일 알림을 보내거나, 기타 작업을 수행할 수 있습니다.
  6. 해당 캘린더에 저장한 nextSyncToken를 증분 동기화 요청에서 반환한 캘린더로 업데이트합니다. 이렇게 하면 다음 동기화 작업이 최신 변경사항만 반환하도록 강제합니다.

이벤트 업데이트됨

(설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL
calendarId

일정 업데이트가 발생한 캘린더의 문자열 ID입니다.

susan@example.com
triggerUid

이 이벤트를 생성한 트리거의 ID입니다.

4034124084959907503

부가기능 이벤트

onInstall() 트리거는 사용자가 부가기능을 설치할 때 자동으로 실행됩니다.

설치

(단순)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL

시간 기반 이벤트

시간 기반 트리거(시계 트리거라고도 함)를 사용하면 스크립트를 특정 시간 또는 반복 간격으로 실행할 수 있습니다.

시간 기반 (설치 가능)
authMode

ScriptApp.AuthMode 열거형의 값입니다.

FULL
day-of-month

1~31

이 속성 이름에는 대시가 포함되어 있으므로 점 표기법이 아닌 e['day-of-month']를 통해 액세스해야 합니다.

31
day-of-week

1 (월요일)~7 (일요일)

이 속성 이름에는 대시가 포함되어 있으므로 점 표기법이 아닌 e['day-of-week']를 통해 액세스해야 합니다.

7
hour

0~23

23
minute

0~59

59
month

1~12

12
second

0~59

59
timezone

시간대

UTC
triggerUid

이 이벤트를 생성한 트리거의 ID입니다.

4034124084959907503
week-of-year

1~52

이 속성 이름에는 대시가 포함되어 있으므로 점 표기법이 아닌 e['week-of-year']를 통해 액세스해야 합니다.

52
year

연도

2015