이벤트 객체

단순 트리거설치 가능한 트리거를 사용하면 Apps Script가 특정 이벤트가 발생하면 함수를 자동으로 실행합니다. 트리거가 실행되면 Apps Script는 함수에 이벤트 객체(일반적으로 e 이벤트 객체에는 알 수 있습니다. 예를 들어 아래 샘플 코드는 간단한 onEdit(e)를 보여줍니다. Google Sheets 스크립트를 트리거하는데, 이 스크립트가 이벤트 객체를 사용해 셀을 수정했습니다.

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 enum의 값입니다.

LIMITED
source

Spreadsheet 객체가 됩니다. 이는 스크립트가 바인딩된 Google 스프레드시트 파일을 나타냅니다.

Spreadsheet
triggerUid

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

4034124084959907503
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com

변경

(설치 가능)
authMode

ScriptApp.AuthMode enum의 값입니다.

FULL
changeType

변경 유형 (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT 또는 OTHER)을 입력합니다.

INSERT_ROW
source

<ph type="x-smartling-placeholder"></ph> Spreadsheet 객체가 될 수 있으며 스크립트가 전달되는 Google 스프레드시트 파일을 나타냅니다. 바인딩합니다.

Spreadsheet
triggerUid

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

4034124084959907503
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com

수정

(단순 설치 가능)
authMode

ScriptApp.AuthMode enum의 값입니다.

LIMITED
oldValue

수정 전의 셀 값입니다(있는 경우). 수정된 경우에만 사용할 수 있습니다. 단일 셀입니다. 셀에 이전 항목이 없는 경우 정의되지 않습니다. 있습니다.

1234
range

Range 객체 수정된 셀 또는 셀 범위를 나타냄

Range
source

Spreadsheet 객체가 됩니다. 이는 스크립트가 바인딩된 Google 스프레드시트 파일을 나타냅니다.

Spreadsheet
triggerUid

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

4034124084959907503
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com
value

수정 후 새로운 셀 값입니다. 수정된 범위가 단일 셀입니다.

10

양식 제출

(설치 가능)
<ph type="x-smartling-placeholder">
authMode

ScriptApp.AuthMode enum의 값입니다.

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 enum의 값입니다.

LIMITED
source

Document 객체 스크립트가 바인딩된 Google Docs 파일을 나타냅니다.

Document
triggerUid

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

4034124084959907503
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com

Google Slides 이벤트

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

열기

(단순)
authMode

ScriptApp.AuthMode enum의 값입니다.

LIMITED
source

Presentation 객체 스크립트가 바인딩된 Google Slides 파일을 나타냅니다.

Presentation
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com

Google Forms 이벤트

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

열기

* (단순 설치 가능)
authMode

ScriptApp.AuthMode enum의 값입니다.

LIMITED
source

Form 객체 스크립트가 바인딩된 Google Forms 파일을 나타냅니다.

Form
triggerUid

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

4034124084959907503
user

User 객체 활성 사용자를 나타냄(가능한 경우) (복잡한 보안 제한사항에 따라 다름).

amin@example.com

* 이 이벤트는 사용자가 응답하기 위해 양식을 여는 경우가 아니라 오히려 편집자가 양식을 열어 수정할 때 생성됩니다.

양식 제출

(설치 가능)
<ph type="x-smartling-placeholder">
authMode

ScriptApp.AuthMode enum의 값입니다.

FULL
response

FormResponse 객체 양식에 대한 사용자의 응답을 전체적으로 나타냅니다.

FormResponse
source

Form 객체 스크립트가 바인딩된 Google Forms 파일을 나타냅니다.

Form
triggerUid

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

4034124084959907503

Google Calendar 일정

캘린더 트리거는 사용자의 캘린더 일정이 업데이트 (생성, 삭제, 있습니다.

이러한 트리거는 어떤 이벤트가 변경되었는지 또는 어떻게 변경되었는지 알려주지 않습니다. 대신 코드에서 증분 동기화 작업을 해야 함을 나타냅니다. 캘린더의 최근 변경사항을 가져옵니다. 자세한 설명 자세히 알아보려면 동기화 리소스 가이드Calendar API.

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

  1. 다음을 위해 Calendar 고급 서비스를 사용 설정합니다. 캡션을 생성할 수 있습니다 내장된 캘린더 서비스만으로는 살펴보겠습니다
  2. 동기화할 캘린더를 결정합니다. 이러한 각 캘린더에 대해 초기 동기화 수행 Calendar 고급 서비스의 Events.list() 메서드에 전달합니다.
  3. 초기 동기화 결과는 이 캘린더의 nextSyncToken를 반환합니다. 나중에 사용할 수 있도록 이 토큰을 저장합니다.
  4. 캘린더를 표시하는 Apps Script EventUpdated 트리거가 실행되면 이벤트 변경 시 증분 동기화를 수행합니다. 해당 캘린더에 저장된 nextSyncToken를 사용합니다. 이것은 기본적으로 또 다른 Events.list()를 사용합니다. nextSyncToken를 제공하면 응답이 다음과 같이 제한됩니다. 마지막 동기화 이후 변경된 이벤트
  5. 동기화의 응답을 검토하여 어떤 이벤트가 업데이트되었는지 알아보고 코드가 적절하게 응답하도록 합니다 예를 들어 변경사항을 로깅하거나 스프레드시트를 업데이트하거나 이메일 알림을 보내거나 기타 작업을 수행할 수 있습니다.
  6. 해당 캘린더에 저장한 nextSyncToken를 반환된 캘린더로 업데이트합니다. 순차적으로 전송되어야 합니다. 이렇게 하면 다음 동기화 작업이 가장 최근의 변경사항만 반환합니다.

EventUpdated

(설치 가능)
authMode

ScriptApp.AuthMode enum입니다.

FULL
calendarId

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

susan@example.com
triggerUid

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

4034124084959907503

Google Workspace 부가기능 이벤트

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

설치

(단순)
authMode

ScriptApp.AuthMode enum의 값입니다.

FULL

Google Chat 앱 이벤트

Google Chat의 이벤트 객체에 대한 자세한 내용은 다음을 참고하세요. Google Chat 앱과의 상호작용을 수신하고 응답하세요.

시간 기반 이벤트

시간 기반 트리거 클록 트리거라고도 하며, 스크립트를 특정 시간 또는 반복 간격입니다.

시간 기반 (설치 가능)
authMode

ScriptApp.AuthMode enum의 값입니다.

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